You are on page 1of 69

Cng ty C phn BLUESOFTS

Add-in A-Tools

Trch lc d liu v to bo co ng
trong Microsoft Excel

Tc gi: ThS. Nguyn Duy Tun

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

MC LC
Gii thiu ............................................................................................................... 7
Ci t v chy Add-in A-Tools............................................................................... 8
Mn hnh chc nng Add-in A-Tools ...................................................................... 8
Tng quan v trch lc d liu trong Excel v Add-in A-Tools ................................ 9
Lc d liu trong Excel ............................................................................................... 9
Add-in A-Tools l cng c mnh cho vic trch lc d liu v lm bo co ng .............. 9
Ti sao lm bo co trong Excel bng Add-in A-Tools c th chy nhanh v ng hn bt
k cch lp cng thc Excel thng thng no? ..........................................................11
Chun ha bng d liu ngun trc khi s dng hm BS_SQL .......................... 13
+ Bng d liu/Table t dng tiu n cc dng d liu khng c c no trng
thi Merge ...............................................................................................................13
+ Tiu ca bng d liu nn c t tn ngn gn, vit lin nhau, ch nn dng cc
k t A-Z, _ , 0-9. S lun dng sau ch ....................................................................13
+ nh dng kiu d liu trong cc ct ca bng trc khi nhp d liu........................13
+ t tn vng d liu trong bng tnh Excel (worksheet) ...........................................15
To cng thc BS_SQL bng SQL Builder.......................................................... 16
Hng dn s dng hm BS_SQL ........................................................................ 19
Download/Ti tp tin v d atools_exambles.zip ........................................................19
M tp tin d liu mu Examble.xls .........................................................................19
B1. M tp tin c d liu v d Examble.xls ..........................................................19
B2. M sheet Thc hnh nhp cng thc .........................................................20
Nguyn tc lm vic ca hm BS_SQL trong tp tin chia s qua mng ..........................20
Cu trc hm BS_SQL ...............................................................................................21
Phng php trch lc d liu bng hm BS_SQL ........................................................22
Tm hiu ngn ng T-SQL ......................................................................................22
S dng t kha SELECT .......................................................................................22
S dng t kha WHERE .......................................................................................24
S dng t kha FROM ..........................................................................................28
Ghp d liu t nhiu bng ....................................................................................28
S dng t kha GROUP BY ...................................................................................34
S dng t kha HAVING.......................................................................................36
S dng t kha ORDER BY ...................................................................................37
Cc hm chun trong ngn ng T-SQL ...................................................................38
Khai bo tham s OPTIONS trong hm BS_SQL...........................................................38
Tham s INSERT ...................................................................................................39
Tham s HR ..........................................................................................................39
Tham s NAME......................................................................................................40
Tham s AUTONAMES ...........................................................................................41
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

2/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

Tham s DBKEY Lin kt vi CSDL bn ngoi vo bng tnh Excel...........................42


M hnh kt ni cc CSDL ngoi qua DBKEY vo bng tnh Excel ...............................44
Phng php lm bo co cho nhiu doanh nghip cng m hnh .............................44
Tham s SERVERSOURCE: Truy vn d liu t my ch ..........................................45
Tham s chy th tc s kin Macro/VBA ..................................................... 45
Cc hm quan trng phi hp vi hm BS_SQL trong lp bo ............................. 49
Hm RECNO: To s th t....................................................................................49
Hm CELL: Ly gi tr ti mt hoc NAME trong bng tnh .....................................50
Hm RANGE: Ly gi tr ti mt hoc NAME trong bng tnh ..................................51
Hm DATA: Ly gi tr ti mt v tr ca mng kt qu..............................................52
Hm MIN, MAX kt hp hm DATA ........................................................................54
Hm GETONCE: Ly gi tr ca biu thc mt ln dng u trong mng .................54
Hm FORMULA: Ly gi tr ca cng thc Excel .......................................................55
Hm FIELDIF, IIF ..................................................................................................56
Hm VTC: To bo cc dng Cross Tab ...................................................................58
Hm SQL: Cp nht ngun d liu c hm BS_SQL ..................................................60
Phng php to bo co ng trong Excel vi hm BS_SQL .............................. 61
Bc 1: Thit k cu trc ca bo co ........................................................................62
To mc chn m dng Validation - List ..................................................................62
Yu cu vi khu vc cha d liu ca bo co .........................................................63
Bc 2: Lp cng thc vi hm BS_SQL ly d liu vo bo co ..............................64
Video hng dn lm bo co nhanh vi SQL Builder trong Add-in A-Tools ...................65
Cc hm CSDL: Tm kim v thng k c nhiu iu kin .................................... 65
Hm BS_DVLOOKUP: Tm kim nhiu iu kin .......................................................65
Hm BS_DSUM: Tnh tng vi nhiu iu kin .........................................................67
Hm BS_DCOUNT: m gi tr vi nhiu iu kin ...................................................67
Hm BS_DMIN: Tnh gi tr nh nht vi nhiu iu kin ..........................................67
Hm BS_DMAX: Tnh gi tr ln nht vi nhiu iu kin...........................................67
Hm BS_DAVG: Tnh trung bnh vi nhiu iu kin .................................................67
Hm BS_DVAR: Tnh lch chun vi nhiu iu kin ............................................67
Hm BS_DFUNC: Tnh nhiu iu kin theo tham s l tn hm ................................67
Hm BS_TABLE: Trch lc d liu - Cch lm khc ca BS_SQL .................................67
Xem video hng dn Add-in A-Tools .................................................................. 69
X l li khi Add-in A-Tools khng khi ng cng Microsoft Excel ..................... 69

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

3/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

DANH MC V D
V d 1: Chn (SELECT) tt c cc ct t (FROM) s KHO ............................................22
V d 2: Chn 10 dng u ca tt c cc ct t s KHO .............................................22
V d 3: Chn danh sch S chng t duy nht (DISTINCT) t s KHO ........................23
V d 4: ly ra cc ct d liu MA_VLSPHH, SLG, DON_GIA, THANH_TIEN trong bng KHO
...............................................................................................................................23
V d 5: ly ra cc ct d liu MA_VLSPHH, SLG, DON_GIA, THANH_TIEN trong bng KHO
...............................................................................................................................23
V d 6: C th thc thi cc php ton, m thm ct tnh ton sau t kha SELECT .......23
V d 7: Ly ra tt c cc ct t bng KHO m khch hng (MA_KH) l KH001 .......24
V d 8: Ly ra cc ct SO_CT, NGAY_CT, DIEN_GIAI, THANH_TIEN t s NKC k t
u ca NOTK l 6 ....................................................................................................24
V d 9: Ly ra cc ct SO_CT, NGAY_CT, DIEN_GIAI, THANH_TIEN t s NKC k t
u ca ct NOTK l 11 v COTK c k t u l 5 .....................................................24
V d 10: Chn tt c cc ct d liu (*) t s KHO m hng (MA_VLSPHH) thuc
danh sch cc m HH001, HH002, HH003 v LOAI_PHIEU l nhp (N) .........................25
V d 11: Ly ra tt c cc ct d liu (*) t s KHO m hng (MA_VLSPHH) c
trong danh sch m c loi (DMVLSPHH.LOAI) l VL v v LOAI_PHIEU l nhp (N). .....25
V d 12: Ly ra tt c cc ct d liu (*) t s KHO THANH_TIEN >= 19000000 ..26
V d 13: Ly ra tt c cc ct d liu (*) t s KHO THANH_TIEN trong khong t
19000000 n 25000000 ...........................................................................................27
V d 14: Ly ra tt c cc ct d liu (*) t s KHO ngy chng t (NAY_CT) ln
hn 24/06/2006 .......................................................................................................27
V d 15: Ly ra cc ct thng tin m hng, tn hng, s lng, n gi, thnh tin t s
KHO. .......................................................................................................................31
V d 16: Lp s gm cc ct: M khch hng, Tn khch hng, S tin. D liu c ly
t 2 s KHO v DMKH. ..............................................................................................33
V d 17: ly ra d liu gm cc ct: MA_KH, Tng tin trn s NKC, iu kin NOTK l
131 (tng hp s tin cho tng khch hng m pht sinh N TK =131) ........................34
V d 18: Lp s gm cc ct: MA_VLSPHH, Tng s lng hng, iu kin vi
LOAI_PHIEU l nhp (N) ...........................................................................................34
V d 19: Lp s gm cc ct: MA_VLSPHH, Tn hng, Tng s lng hng, iu kin
LOAI_PHIEU l nhp (N) ...........................................................................................35
V d 20: Lp danh sch gm m khch hng, tn khch hng vi s tin pht sinh ln
nht mi khch hng trong s KHO, vi loi phiu xut (X). Sp xp theo s tin gim
dn. ........................................................................................................................35
V d 21: Lp danh sch cc m hng vi tng gi tr nhp v > 60000000 ..................36
V d 22: Lp danh sch cc m hng c s ln nhp > 4 ............................................37
V d 23: Ly ra cc ct t s KHO sp xp theo NGAY_CT v SO_CT ...........................37
V d 24: Chn tt c cc ct t s KHO, ct THANH_TIEN sp xp gim dn................38

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

4/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

V d 25: Lp danh sch gm m khch hng, tn khch hng vi s tin pht sinh ln
nht mi khch hng trong s KHO, vi loi phiu xut (X). Sp xp theo s tin gim
dn. ........................................................................................................................38
V d 26: Ly ra d liu gm cc ct: MA_VLSPHH, SLG, DON_GIA, THANH_TIEN vi m
hng l HH001. Dng thuc tnh chn dng. ...............................................................39
V d 27: ly ra m hng duy nht trong bng KHO. Bng kt qu khng c dng tiu
...............................................................................................................................39
V d 28: ly ra m hng duy nht trong bng KHO. Bng kt qu khng c dng tiu .
t tn bng l MAHH ..............................................................................................40
V d 29: Ly ra cc ct NGAY_CT, MA_VLSPHH, THANH_TIEN t s KHO. Bng kt qu
c t tn l DULIEU, cc ct trong bng kt qu c t tn vi nhm k t u l
DL_.......................................................................................................................41
V d 30: Kt ni vi CSDL bn ngoi. M tp tin C:\A-Tools\DATA_DEMO\Access
Databases\Examble.mdb bng MS Access..................................................................43
V d 31: nh s th t lin tip 1,2, .....................................................................49
V d 32: nh s th t t 1, bc nhy l 2. Kt qu l 1,3,5,................................50
V d 33: nh s th t lin tip t 100 ....................................................................50
V d 34: Hm CELL iu kin tham chiu ti cha gi tr vn bn trong bng tnh...50
V d 35: Hm CELL Ly d liu t s KHO m MA_VLSPHH l m trong B10 V s
lng > s lng B11. Gi thit B11 cha gi tr 2.................................................51
V d 36: Hm CELL Ly d liu t s KHO m MA_VLSPHH l m trong B10 V s
lng > s lng B11 V ngy>ngy B12. Gi thit B11 cha gi tr 2, B12 cha
gi tr 25/06/2005. ....................................................................................................51
V d 37: Hm RANGE iu kin tham chiu ti cha gi tr vn bn trong bng tnh51
V d 38: Lp s chi tit hng ha gm SO_CT, NGAY_CT, SLG, DON_GIA,THANH_TIEN,
Ly k. Ct Ly k c tnh bi cng thc ...........................................................52
V d 39: Hm MIN, MAX kt hp hm DATA ..............................................................54
V d 40: Lp s chi tit hng ha gm SO_CT, NGAY_CT, SLG, DON_GIA,THANH_TIEN,
Ly k. Ct Ly k c tnh bi cng thc ...........................................................54
V d 41: Lp s chi tit hng ha gm SO_CT, NGAY_CT, SLG, DON_GIA,THANH_TIEN,
Ly k. Ct Ly k c tnh bi cng thc ...........................................................55
V d 42: Lp s chi tit nhp-xut tn hng ha. M hng nm C10. Gi tr tn u
F13. Tn = Tn trc + Nhp Xut ......................................................................56
V d 43: Lp s tng hp nhp-xut tn hng ha. ....................................................57
V d 44: Lp s tng hp s lng hng xut cho cc khch hng. Gm cc ct
MA_VLSPHH, cc ct cn li l tng s lng hng xut cho tng m khch hng. ........58
V d 45: Lp s tng hp s lng hng xut cho cc khch hng. Gm cc ct
MA_VLSPHHSTT, M hng, Tn hng, VT, Tng xut, Tn cc khch hng vi s lng
xut mi mt hng tng ng. ..................................................................................59
V d 46: Lp bng tng hp s lng cc hng ho xut kho theo tng ngy. D liu
c ly t s KHO...................................................................................................60
V d 47: Cp nht d liu ngun trc khi truy vn d liu. ........................................61

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

5/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

V d 48: Lp s chi tit vt t hng ha. S ny s lc ra cc dng d liu lin quan n


loi phiu c chn (LOAI_PHIEU) v ca m hng c chn (MA_VLSPHH). ............61
V d 49: Tm mt m hng m trong bng KHO c s lng nhp kho l 10. ...............66
V d 50: Ly ra cc m hng c s lng nhp > 5 ...................................................66
V d 51: Tnh tng s lng nhp kho m m hng l HH001 .....................................67
V d 52: Tnh tng s lng nhp kho m m hng l HH001 .....................................67
V d 53: Lp mt danh sch gm cc ct: MA_VLSPHH, SLG t s KHO m loi phiu l
loi nhp (LOAI_PHIEU='N'). .....................................................................................68
V d 54: Lp mt danh sch tng hp SLG nhp gm cc ct: MA_VLSPHH, SLG t s
KHO m loi phiu l loi nhp (LOAI_PHIEU='N'), sp xp ct SLG tng dn. ..............68

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

6/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

Gii thiu

Add-in A-Tools l mt cng c (add-in) chy trong mi trng Microsoft


Excel. Add-in A-Tools c cc chc nng chnh sau:
Chia s tp tin Excel qua mng LAN, Internet cho nhiu ngi dng
chung: chia s tp d liu Excel cho nhiu ngi dng trong mng, nu khng
c cng c th ch c mt phng php l share th mc cha file Excel (cch
ca Excel). Theo cch ny, cc my trong mng u c th truy cp vo copy v
thm ch xo hn tp d liu ny. Ngi qun l tp tin Excel ny ch c th gi trn
c tp tin m rt kh che du nhng sheets hay vng d liu ring ca mnh. Cc
vn khc nh cho ngi dng truy cp vo vng d liu nhng c cc quyn: ch
c, son tho, gii hn bao nhiu ngi c kt ni,.... Excel khng th lm c.
Vi Add-in A-Tools cho php son tho v qun tr d liu Excel qua mng.
Cng c ny cho php ngi dng qun tr d liu Excel qua mng mt cch mnh
m, c th kt ni cc bng tnh, vng d liu qua TCP/IP (khng phi share full th
mc), qun tr cc kt ni ti vng d liu, phn quyn cho tng nhm ngi dng,
khi d liu ti mt my thay i th cc my khc trong mng c cp nht ngay
lp tc (sau khong ~ 1 mili giy).
Tm hiu chi tit chc nng ny c ti liu:
C:\A-Tools\Documents\A-Tools-Help.pdf
Trch lc d liu v to bo co trong bng tnh Excel: To bng d
liu ng bi vic s dng cc hm vi ngn ng truy vn c s d liu (CSDL) TSQL. Cho php kt ni vi cc CSDL bn trong v bn ngoi nh Excel, Access,
Foxpro, MS SQL, MySQL, Firebird, vo bng tnh Excel. Vi cng c SQL Builder v
hm BS_SQL s gip ngi dng to cng thc truy vn d liu mt cch d dng
v hiu qu. Ngi dng c th to ra nhng bo co trong bng tnh Excel c
phc tp cao, c lc theo nhiu iu kin, lin kt vi cc ngun d liu khc
nhau, m bo chnh xc, n nh v tc x l nhanh.
Lp trnh cng Add-in A-Tools: Ngoi giao din ngi dng, Add-in ATools cn h tr cc hm API v cc i tng COM nh BSNetwork,
BSFormulaArray nhng ngi pht trin ng dng lp trnh kt hp cng Addin A-Tools nhm khai thc ti a nng lc ca Add-in A-Tools, tng sc mnh cho
ng dng ca mnh.
Nu bn mun lp trnh VBA cng A-Tools hy c ti liu ti file A-Tools
Programming.pdf
Cc chc nng ph:

To cng thc thng k kt hp vi nhiu iu kin, cng thc mng.


Chuyn i m vn bn t TCVN3, VNI sang UNICODE v ngc li.
c s thnh ch ting Vit, ting Anh

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

7/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

Ci t v chy Add-in A-Tools

Ngi dng cn download/ti Add-in A-Tools theo a ch di y:

A-Tools Pro Phin bn thng mi:

A-Tools Free Phin bn min ph:

http://www.bluesofts.net/Products/AddIns/A-Tools/A-Tools_Pro.exe
http://www.bluesofts.net/Products/AddIns/A-Tools/A-Tools_Free.exe
Sau khi ti b ci t A-Tools v my, Ngi dng nhp p chut vo tp tin v ci
t bnh thng.
Lu : ngi dng phi ng nhp Windows vi quyn qun tr (Administrator). Khi
ci t thnh cng, tt c cc loi user u chy c A-Tools.
chy A-Tools, ngi dng m Microsoft Excel, khi chng trnh m xong, ngi
dng s nhn thy menu A-Tools nm gn cui cc menu ngang ca Microsoft
Excel.

Mn hnh chc nng Add-in A-Tools

M Microsoft Excel 2007. Chn menu A-Tools ngi dng s thy cc chc
nng ca A-Tools nh hnh di y.

Giao din trn Microsoft Excel 2003 hoc cc phin bn thp hn

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

8/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

Tng quan v trch lc d liu trong Excel v Add-in A-Tools


Lc d liu trong Excel
thc hin cc vic trch lc d liu ta c th dng cc chc nng sn c nh:
Auto Filter, Advanced Filter.

Auto Filter: vic trch lc d liu c thc hin ngay trong chnh sheet/bng d liu
ngun. Cng vic Filter ny nhm gip ngi s dng nm bt thng tin nhanh
c c s i chiu v so snh vi cc d liu khc.
Advanced Filter: Lc d liu da vo vng iu kin - Criteria Range. iu kin lp
trong vng ny kh phong ph. D liu trch lc c c th a sang mt a ch
khc.
im chung gia Auto Filter v Advanced Filter:
+ D liu lc ra vn mang nguyn c cu trc bng, tc bng gc c 10 ct th bng
kt qu lc c cng l 10 ct.
+ D liu lc ra ch c th ng vai tr trung gian lm c s so snh, i chiu vi
d liu khc, ngi dng kh c th to ra mt bo co t Auto Filter hoc
Advanced Filter. Tr trng hp Filter c dng trn mt bo co c v c ct
cng thc lm tiu thc lc n cc dng d liu khng cn thit.
Add-in A-Tools l cng c mnh cho vic trch lc d liu v lm bo co
ng
hiu qua v trch lc d liu trong Add-in A-Tools bn hy to mt cng thc n
gin theo cc bc sau:
B1. M tp tin c d liu v d tn l Examble.xls ti ng dn C:\ATools\DATA_DEMO\
Hoc download t a ch
http://bluesofts.net/Products/AddIns/A-Tools/Help/DEMO/Examble.xls
B2. Sheet KHO cha cc phiu nhp, phiu xut, vng A3:K68 c t tn l
KHO. M sheet Thc hnh nhp cng thc
B3. Lp cng thc lc ra cc dng d liu vi cc ct thng tin MA_VLSPHH, SLG,
DON_GIA, THANH_TIEN trong vng d liu KHO, iu kin lc l m hng l
HH001 (WHERE MA_VLSPHH= HH001 ) . Cng thc nh sau
=bs_sql("SELECT MA_VLSPHH, SLG, DON_GIA, THANH_TIEN FROM KHO WHERE
MA_VLSPHH='HH001' ")
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

9/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

Sau khi nhp xong bn hy nhn phm ENTER kt qu s nh hnh di y:

Lu :
Khi sa cng thc phi m bo ch c mt c chn.
Nu sa li cng thc, khi kt thc phi nhn CTRL+SHIFT+ENTER v BS_SQL l
cng thc mng.
Nu khng mun thc hin nhn phm ESC hy khng sa.
Mun xa th chn c bng ri xa.

Vi cng thc trn iu kin lc nm sau t kha WHERE, nu thay HH001 thnh
HH002 th kt qu lc ra l ca m hng HH002. Phn sau ti liu ny s m t chi
tit cch lp cng thc trn.
+ Add-in A-Tools cung cp hm BS_SQL s dng ngn ng T-SQL (SELECT *
FROMWHERE) truy vn d liu. Ngn ng T-SQL ngy nay c ph bin cho
cc phn mm qun tr CSDL, n cho php trch lc d liu vi khi lng ln m
vn m bo tc nhanh. Cc iu kin lc c thc hin rt linh hot. Ngi s
dng c th hc n mt cch d dng.
+ Bo co to ra thng l s ghp ni d liu t mt hay nhiu bng d liu khc.
V d bo co nhp xut tn c ly ra t hai s: s kho (ni ghi nhn cc phiu
nhp phiu xut, m hng m nh cung cp, m khch hng,) v s danh mc
hng ha. Ngn ng T-SQL cho php kt ni cc bng d liu li vi nhau chn
ra nhng trng thng tin no ty .
+ Add-in A-Tools cung cp cc hm h tr cho hm BS_SQL v ngn ng T-SQL
c th to ra bo co phc tp, d liu kt ni linh hot. Cc hm nh: RECNO()
To s th t; CELL(), RANGE ly gi tr trn bng tnh; FORMULA() Tnh ton
cng thc trong cu lnh SELECT; VTC() Lm bo co theo m hnh CROSS;
DATA() gip cho vic lm bo co vi vic tnh ch tiu ly k d dng;,. Chnh cc
hm b sung ny cng vi ngn ng T-SQL mi l sc mnh thc s ca A-Tools
trong vic trch lc d liu v lm bo co ng.
+ Add-in A-Tools vi hm BS_SQL s dng DBKEY cho php kt ni vi nhiu loi
CSDL bn ngoi nh MS Access, SQL Server, MySQL, Foxpro, Excel,. lin kt d
liu, lm bo co trong bng tnh Excel. Khi d liu trong cc CSDL thay i th bo
co trn Excel cng thay i (khi c cp nht). Vi tnh nng ny ngi dng c
th to ra bo co trn Excel m d liu ly t phn mm no ang chy trong
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

10/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

my tnh hoc trong mng. Cc phn mm khng lm ht cho ta cc loi bo co,


vy ta c th t to ra chng d dng bi Add-in A-Tools.
+ Hm BS_SQL kt hp vi chc nng chia s tp tin Excel qua mng LAN, Internet
cho php bo co trn my khch m d liu gc nm my ch. Vi phng php
thit k ny th m bo tp tin lm bo co nh v ch c cng thc, an ton d liu
v d liu gc nm ti my ch.
Ti sao lm bo co trong Excel bng Add-in A-Tools c th chy nhanh v
ng hn bt k cch lp cng thc Excel thng thng no?
+ Vi cch lm Excel thng thng

Cn phi s dng cc hm IF, Vlookup, SumIf, SumProduct,OffSet, Index,


Cng thc c lp ra ly d liu theo iu kin ca bo co. Trong bo co
cng thc c copy tha ra nhiu dng, cho nhiu m i tng bao qut cc
trng hp. Khi cn thu gn li dng Auto Filter lc ra ci cn xem v in. Chnh
phng php ny c nhc im rt ln l TO CNG THC THA rt nhiu, n p
cho Excel phi tnh ton nhng ci l ra khng phi tnh. V d trong danh mc hng
c 100 m hng, nhng trong s kho nhp, xut mi ch 10 m nhng cng thc
vn phi copy cho c 100 m tha. Hay theo nh hnh ca S k ton chi tit
bn trn. Nu s NKC (d liu ngun) m c 20.000 dng th trong s ny cng phi
lp cng thc cho 20.000 dng, trong khi vi d liu cn hin th cho TK 131, m
khch hng l KH002 th s dng c th ch l 20 dng. Vy r rng chng ta
lm cho Excel phi lun tnh tha nhng i tng khng cn thit.
Vn th hai l v c tnh cng thc Excel, khi d liu ngun thay i th kt qu
cc cng thc lin kt n n cng thay i. Hiu mt cch khc l ton b cc
cng thc ang tham chiu ti vng d liu thay i b tnh ton li y chnh l l
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

11/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

do bng tnh chy rt chm khi ngi dng nhp d liu trong cc vng c cng
thc tham chiu n.
+ Vi cch lm bi BS_SQL trong Add-in A-Tools

Vic trch lc d liu ch cn mt hm ch o l BS_SQL, hm ny s tr v


c bng d liu cn cho bo co sau khi thc thi cu lch SQL. Hm BS_SQL ch tnh
ton, lc tr v d liu theo ng iu kin lc ca bo co. Khng tnh tha d liu
nh phng php lp cng thc Excel bn trn. Cc dng trong bo co t co gin
ph hp khi bo co tng hay gim dng d liu (nh khai bo INSERT=YES
trong tham s OPTIONS ca hm BS_SQL) . Cc d liu di chn bo co Footer
c y theo linh hot. Bo co ch cp nht li khi thc hin lnh cp nht hoc
khi m tp tin. Vic ly ra danh sch m duy nht: m hng, m nh cung cp,
khch hng, trong s pht sinh c thc hin d dng, kt qu trch lc c t
NAME t ng theo cng thc BS_SQL. Cc NAME ny c a vo lm Validation
hay cc cng thc khc ca Excel s to cho bn mt bo co chuyn nghip v linh
ng. Add-in A-Tools c lp trnh trong Delphi vi cc thut ton ti u tit kim
b nh, c bin dch ra m my nn cng thc chy rt nhanh.
Phng php lm bo co ca Excel l phi lm NHIU cng thc gp li ri copy.
Phng thc lm bo ca Add-in A-Tools l ch cn lm MT cng thc c hm
BS_SQL to ra mt bo co. V mt vi l do khc na m bo co to bi hm
BS_SQL trong Add-in A-Tools lm d, chy nhanh v linh hot hn cch lm Excel
thng thng.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

12/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

Chun ha bng d liu ngun trc khi s dng hm BS_SQL


+ Bng d liu/Table t dng tiu n cc dng d liu khng c c
no trng thi Merge
L mt bng d liu c nh ngha bi ct v dng, giao ca ct v dng l
. Vic Merge nhiu thnh mt s lm vic truy vn d liu gp li.
Trong bng v d di y B10 b li v c trng thi Merge.

+ Tiu ca bng d liu nn c t tn ngn gn, vit lin nhau, ch


nn dng cc k t A-Z, _ , 0-9. S lun dng sau ch

Vi bng d liu trn, cng thc phi lm nh sau


=bs_sql("select [S CT], [M VLSPHH], [S LNG],[N GI],[THNH
TIN] from [KHO$A3:K10]")
Tiu cc ct c du dn n khi lm cng thc d b sai do nhm ln, lp
cng thc mt thi gian v vic son tho nhiu.
Tiu cc ct ca bng d liu nn t tn li nh sau

Khi cng thc l


=bs_sql("SELECT SO_CT, MA_VLSPHH, SLG,DON_GIA ,THANH_TIEN FROM
[KHO$A3:K10]")
Khng cn phi dng k t bao [ ], son tho ch khng du s nhanh v
gim li son tho hn.
+ nh dng kiu d liu trong cc ct ca bng trc khi nhp d liu
Trong bng tnh Excel, cc ngm nh t kiu General, kiu d liu c
xc nh khi d liu c nhp vo. Trong mt hon cnh no , d liu nhp vo
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

13/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

kh cho A-Tools hay i tng truy vn d liu ADO xc nh r kiu d liu.


Nh l s CMND, M hng, Gi x ta nhp gi tr l 1111 Excel li hiu l kiu s
(Number), mc ch ca ngi s dng phi l kiu TEXT v trong cng thc dng
php so snh cc gi tr TEXT dn n sai. V d MA_VLSPHH = 1111 s sai v Excel
ang coi MA_VLSPHH l s - Number. Vy cn phi nh dng ct MA_VLSPHH v
dng TEXT trc sau mi nhp 1111 lc ny cng thc so snh MA_VLSPHH =
1111 l ng v ct MA_VLSPHH c Excel hiu l TEXT. Nu gi tr 1111 nhp

trc sau mi nh dng th khng c ngha. Vn cn phi nhp li sau khi nh


dng. Nu khng mun nhp li, bn chy chc nng S thnh vn bn trong
menu A-Tools.
Hnh di y l gi v nh dng cc ct trong bng trc khi a vo nhp
d liu.

Trong bng d liu ngun nn c dng u tin nhp gi tr gi nh m


cc gi tr ny khng nh hng ti kt qu ca bo co.
Cc ct l dng vn bn (TEXT) nhp gi tr (nhy n). Cc ct c cc gi tr
ngy thng, s lng, s tin, phn trm, t l (s) th nhp s 0.
Vic nhp gi tr gi nh nh trn gip cho A-Tools hay i tng ADO hiu
c kiu d liu ca cc ct d liu trong bng c r rng hn.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

14/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v to bo co ng trong Microsoft Excel

+ t tn vng d liu trong bng tnh Excel (worksheet)


Trong bng tnh c nhiu vng d liu, ch mt khu vc no m bo
l bng d liu Table. Vy A-Tools hiu khu vc l bng th ngi dng cn
t tn NAME cho vng d liu ny l bng.
V d lc ly cc dng d liu trong sheet KHO, vng d liu A3:K68.
t cng thc:
=BS_SQL("SELECT * FROM [KHO$A3:K68]")
Nu vng d liu c t tn l KHO (=KHO!A3:K68) th cng thc nh sau.
=BS_SQL("SELECT * FROM KHO")
Vic t tn - NAME em li hiu qu s dng rt cao trong cc cng thc
Excel ng thi m bo cho A-Tools bit l khu vc bng. Vi A-Tools, tn ca
mt vng KHO c coi nh tn ca mt bng (table) trong CSDL Excel.
Cch to tn cho vng d liu
Ngi dng lm theo trnh t sau:
+ 1: Chn vng d liu. Vng d liu phi t dng tiu ca bng ti dng cui
cng. V d trong sheet KHO, bi en t A3:K68
+ 2: Chn menu Formula (Vi Excel 2007 hoc cao hn)
+ 3: Chn menu Insert->Name (Vi Excel 2003 hoc thp hn)
+ 4: Chn Define Name. t tn ti mc Name:
+ 5: Chn [Ok] ng
bc 2,3 phm tt l CTRL+F3
Ta c mn hnh t tn - NAME di y

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

15/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

+ Name: t tn vng KHO


+ Refers to: a ch tham chiu. Excel t in t vng ta chn bc 1.
Sau khi nhp tn xong, nhn nt Ok hon tt. Nu my bo tn tn ti th
vo Name Manager chn Edit sa li.
Ln u t tn cc bng d liu bn nn lu li v ng tp tin ny sau m li
th Excel hiu cu trc cc vng d liu c t tn theo dng bng/table..

To cng thc BS_SQL bng SQL Builder


T menu A-Tools chn SQL Builder
Vi Excel 2003 vo menu A-Tools->Truy vn d liu chn SQL Builder

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

16/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

1
3

4
5

lin kt gia bng KHO v DMHH, nhp chut vo MA_VLSPHH bn KHO ko


sang MA_VLSPHH ca bng DMHH ri nh chut.

Cc khu vc nh s c gii thch di y:


(1) DBKEY Kha kt ni: chn CSDL hoc DBKEY (m kt ni vi CSDL bn ngoi). kt ni
vi CSDL bn ngoi, ngi dng phi to DBKEY trc , cch to s hng dn trang
sau. Ngm nh A-Tools kt ni ti tp tin Excel ang m hin ti. V d nu bn ang m
file Examble.xls th mc DBKEY s hin Examble.xls c ngha l A-Tools ang kt ni ti
tp tinExamble.xls.
(2) Danh sch cc tn vng hoc tn bng (table, query) d liu trong CSDL chn (1). Ngi
dng hy nhp p chut hoc ko tn vng d liu t (2) sang (3) lm ngun d liu.
(3) Ni cc kha quan h gia cc bng (table) nu c (trong hnh v l MA_VLSPHH). Chn
cc trng d liu hin th v lm iu kin.
(4) + Output: nu chn, trng d liu s hin th

+ Expression: tn trng d liu hoc biu thc tnh


+ Aggregate: chn tn hm thng k: Sum; Count; Min; Max;
+ Alias: t tn cho trng hoc biu thc Expression
+ Sort Type: chn kiu sp xp tng (Ascending) hay gim (Descending) dn
+ Sort Order: t u tin trng sp xp
+ Grouping: chn cc trng d liu c nhm theo. Mc ny c s dng khi
ngi dng ch nh hm thng k Aggregate. Tt c cc trng nu khng c
ch nh hm thng k th n c chn Grouping.
Criteria: mc t iu kin lc. Ngi dng c th dng chut chn d liu trong
mt ca bng tnh lm iu kin ng, thc cht l s dng hm RANGE(..).

(5) Sau khi thc hin 4 mc trn, A-Tools s t ng to cu lnh T-SQL cho hm BS_SQL.
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

17/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Sau khi thit lp xong, ngi dng chn nt Tip tc s xut hin mn hnh
di y

+ Tn bng kt qu: A-Tools s t ng to tn cho vng kt qu. Bn nn t tn


trong trng hp bng d liu kt qu tr v li c dng cho mt cng thc khc.
+ T ng to tn cc ct: A-Tools t t tn cc vng theo mi ct trong vng kt
qu. Nhng tn c to s c s dng trong cc cng thc ca Excel.
+ Chn dng: nu c chn, bng kt qu s chn cc dng d liu sau con tr.
Nu khng, d liu d b ghi ln. Khi lm bo co bn nn chn mc ny.
+ a ch t tham s SQL: cha cu lnh SQL. Cn thit s dng khi chui lnh
SQL di (s k t > 128 k t).
+ a ch /vng t cng thc: u tin trong bng tnh cha gi tr ca bng kt
qu.
Sau khi hon tt, chn nt Thc hin A-Tools chy hm BS_SQL trong bng
tnh.
Cng thc c hm BS_SQL c to ra bi SQL Builder nh sau:
=BS_SQL("SELECT DMHH.TEN, Sum(KHO.SLG) AS SLG
FROM DMHH INNER JOIN KHO ON KHO.MA_VLSPHH = DMHH.MA_VLSPHH
GROUP BY DMHH.TEN, KHO.LOAI_PHIEU
HAVING KHO.LOAI_PHIEU = 'N'" , "INSERT=YES; AutoNames(THHH);")
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

18/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Nh vy, vi cng c SQL Builder bn c th khng cn phi hiu r ngn ng


T-SQL mi lc c d liu m ch bng vi c nhp chut. Vic cng c t sinh m
T-SQL bn hon ton t hc c ngn ng ny mc c bn.
Bn xem video hng dn ti a ch sau:
http://bluesofts.net/giai-phap-phan-mem/a-tools-truy-van-loc-soan-thao-va-quan-tridu-lieu-excel-qua-mang/117-lam-bao-cao-tren-excel-de-dang-bang-a-tools-.html

Hng dn s dng hm BS_SQL

Hm BS_SQL trong A-Tools l mt hm a nng v rt c bit. Kt qu tr v


ca hm l mt bng d liu c lc theo cc iu kin phc tp, d liu c
mc ni vi nhau m ngun d liu c th t nhiu loi CSDL khc nh trnh by
phn trn. Ch cn mt hm BS_SQL, ngi dng c th to ra cc loi bo co
ng trong Excel vi tc nhanh d d liu nhiu, chnh xc cao.
Trc khi hc tun t cch s dng hm BS_SQL bn hy lm mt v d sau
hiu qua hm BS_SQL.
Download/Ti tp tin v d atools_exambles.zip
http://bluesofts.net/Products/AddIns/A-Tools/Help/atools_exambles.zip
M tp tin d liu mu Examble.xls
B1. M tp tin c d liu v d Examble.xls

Tn tp tin l Examble.xls ly t tp tin download hoc trong b ci Add-in A-Tools


ti ng dn C:\A-Tools\DATA_DEMO\

Tp tin Examble.xls s lun c m v lm v d, thc hnh cc cng thc trong


ton b ti liu ny.
Sheet KHO cha cc phiu nhp, phiu xut, vng A3:K68 c t tn l
KHO.

(Vng A3:K68 c t tn (Define Name) l KHO)

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

19/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Sheet NKC cha cc chng t k ton, nh khon n, c. Vng A3:K112 c


t tn l NKC.

B2. M sheet Thc hnh nhp cng thc

Lc ra cc dng d liu vi cc ct thng tin MA_VLSPHH, SLG, DON_GIA,


THANH_TIEN trong vng d liu KHO, iu kin lc l m hng l HH001 (WHERE
MA_VLSPHH= HH001 ) . Cng thc nh di y.
=bs_sql("SELECT MA_VLSPHH, SLG, DON_GIA, THANH_TIEN FROM KHO WHERE
MA_VLSPHH='HH001' ")
Sau khi nhp xong bn hy nhn phm ENTER kt qu s nh hnh di y:

Lu :

Nu sa th ch c chn duy nht mt


L cng thc mng ({=Cng thc}), chy cng thc nhn CTRL+SHIFT+ENTER
xo cng thc mng, chn ton b vng cng thc ri nhn phm DELETE
Nu khng mun thc hin nhn phm ESC hy vic sa.

Nguyn tc lm vic ca hm BS_SQL trong tp tin chia s qua mng


Hm BS_SQL trong tp tin Excel c chia s qua mng c nguyn tc nh sau:
+ Ti my ch: khng t ng chy, ch ng bng. y l c im gip cho
my ch tit kim b nh v chy nhanh hn. Bn c th t cp nht bng cch t
con tr vo vng cng thc nhn lnh Cp nht trn menu A-Tools hoc nhn t
hp phm CTRL+SHIFT+A.
+ Ti my khch: chy v cp nht bnh thng. D liu truy vn l ti my ch.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

20/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Cc tp tin Excel c d liu mu cng cc v d hc cc hm trong ti


liu ny

Cu trc hm BS_SQL
BS_SQL(SQL [,OPTIONS])
+ SQL: L mt chui khai bo cu lnh truy vn d liu theo ngn ng T-SQL.
T-SQL l mt ngn ng chun truy vn CSDL m cc h qun tr CSDL thng dng
nh: MS Access, Foxpro, dBASE, SQLServer, Oracle, MySQL, Excel,
Cu lnh SQL trong hm BS_SQL c phi hp thm cc hm A-Tools to
thm: RECNO, CELL, RANGE, DATA, GetOnce, FORMULA, FieldIf, VTC,Nh phi
hp cc hm ny trong khai bo SQL, hm BS_SQL c th tr v kt qu rt linh
ng, p ng cc yu cu phc to trong lm bo co chi tit, bo co tng hp
trong Excel.
+ OPTIONS: L tham s tu chn (c th khng c), tham s ny l mt
chui, cho php khai bo thm cc tham s cho hm, cc tham s c ngn cch
nhau bi du chm phy (;). Nu khng c tham s ny, hm BS_SQL s truy vn
d liu trong chnh tp tin Excel ang m hin ti v tr v bng kt qu lc.
Cc tham s s dng trong OPTIONS bao gm: DBKEY, HR, NAME, AUTONAMES,
INSERT, SERVERSOURCE.
C th lp trnh cc macro trong VBA chy trong cc s kin ca hm BS_SQL,
khai bo chy cc macro thc hin trong tham s OPTIONS. Cc tham s gm:
OnBeforeUpdate, OnAfterUpdate, OnDblClick, OnSelectionChange, OnGetValue
Cch s dng cc tham s c trnh by chi tit phn sau.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

21/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Phng php trch lc d liu bng hm BS_SQL


Tm hiu ngn ng T-SQL
SELECT [DISTINCT] [TOP n] select_list FROM table_source [ WHERE search_condition ]
[ GROUP BY group_by_expression ] [ HAVING search_condition ] [ ORDER BY
order_expression [ ASC | DESC ] ]

c thm: C rt nhiu cc website hng dn v ngn ng ny, cc bn c


th tham kho ti cc website sau:
http://www.w3schools.com/sql/sql_select.asp
http://www.w3schools.com/sql/sql_distinct.asp
http://www.w3schools.com/sql/sql_where.asp
http://www.w3schools.com/sql/sql_orderby.asp
http://www.w3schools.com/sql/sql_like.asp
http://www.w3schools.com/sql/sql_join.asp
Cc t c mu xanh l t kho, khi vit cu lnh SQL phi m bo th t
trc sau ca cc t kho.
Nhng khai bo nm trong ngoc vung ([ ]) c th dng hoc khng - tu
chn.
S dng t kha SELECT

SELECT select_list
select_list: Danh sch cc ct trong bng d liu "table_source", cng c th l
danh sch cc gi tr.
V d ly ra cc ct d liu MA_VLSPHH, SLG, DON_GIA, THANH_TIEN
SELECT MA_VLSPHH, SLG, DON_GIA, THANH_TIEN
V d ly ra cc ct d liu MA_VLSPHH, SLG, DON_GIA, THANH_TIEN nhng
cc ct ly ra c t li tn
SELECT MA_VLSPHH AS [M Hng], SLG AS [S Lng], DON_GIA AS [n
Gi], THANH_TIEN AS [Thnh Tin]
--->

i tn ct, t AS [Tn ct] ngay sau ct mun i

--->

Nu ly tt c cc ct trong "table_source" dng k t *

table_source: l mt bng hay danh sch bng d liu c quan h vi nhau.


Nu l danh sch th cc bng cch nhau bi du phy (,) hoc kt ni vi nhau bi
t kha JOIN.
M tp tin Examble.xls vo sheet Thc hnh lm cc v d sau:
V d 1: Chn (SELECT) tt c cc ct t (FROM) s KHO
=BS_SQL("SELECT * FROM KHO")
V d 2: Chn 10 dng u ca tt c cc ct t s KHO
=BS_SQL("SELECT TOP 10 * FROM KHO")
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

22/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d 3: Chn danh sch s chng t duy nht (DISTINCT) t s KHO


=BS_SQL("SELECT DISTINCT SO_CT FROM KHO")

V d 4: ly ra cc ct d liu MA_VLSPHH, SLG, DON_GIA, THANH_TIEN trong


bng KHO
=BS_SQL("SELECT MA_VLSPHH, SLG, DON_GIA, THANH_TIEN FROM KHO")
V d 5: ly ra cc ct d liu MA_VLSPHH, SLG, DON_GIA, THANH_TIEN trong
bng KHO
=BS_SQL("SELECT MA_VLSPHH AS [M Hng], SLG AS [S Lng], DON_GIA AS
[n Gi], THANH_TIEN AS [Thnh Tin]
FROM KHO")

V d 6: C th thc thi cc php ton, m thm ct tnh ton sau t kha


SELECT
=bs_sql("SELECT 1+1 AS BT1, MA_VLSPHH, SLG, DON_GIA, SLG*DON_GIA AS
[Thnh Tin], '' AS [Ghi ch] FROM KHO")

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

23/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

1 + 1 AS BT1 Ct BT1 c to ra, kt qu ca n l php cng 1 + 1 = 2


'' AS [Ghi ch] Ct Ghi ch c to ra, kt qu ca n l gi tr chui trng. Gi
tr chui trong SQL l nm trong hai du nhy n Chui gi tr
Cc php ton s dng v c bn ging nh cc php ton bn lp trong cng thc
Excel.
S dng t kha WHERE

WHERE search_condition
search_condition: l iu kin biu thc logic/so sonh. Cc bn ghhi c
lc ra nu biu thc so snh tr v TRUE. Theo T-SQL/A-Tools Nu gi tr so snh l
vn bn th phi t trong hai du nhy n ( ' ) , trong Excel l nhy kp .
Cc ton t so snh l: > , >= , < , <= , <> , = , LIKE , IN, BETWEEN
Khi so snh tp k t bt k ta dng k t % , k t ny dng vi ton t l
LIKE
Ton t kt hp logic: AND , OR , NOT
V d 7: Ly ra tt c cc ct t bng KHO m khch hng (MA_KH) l
KH001
=BS_SQL("SELECT * FROM KHO WHERE MA_KH='KH001' ")
V d 8: Ly ra cc ct SO_CT, NGAY_CT, DIEN_GIAI, THANH_TIEN t s NKC
k t u ca NOTK l 6
=BS_SQL("SELECT SO_CT, NGAY_CT, DIEN_GIAI, NOTK, COTK, THANH_TIEN
FROM NKC
WHERE NOTK LIKE '6%' ")

K t % c dng lm i din so snh vi nhm k t bt k, thng


dng vi ton t LIKE.

V d 9: Ly ra cc ct SO_CT, NGAY_CT, DIEN_GIAI, THANH_TIEN t s NKC


k t u ca ct NOTK l 11 v COTK c k t u l 5
=bs_sql("SELECT SO_CT, NGAY_CT, DIEN_GIAI, NOTK, COTK, THANH_TIEN
FROM NKC
WHERE NOTK LIKE '11%' AND COTK LIKE '5%' ")

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

24/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Trong search_condition, bn c th s dng IN (tp danh sch gi tr) lm iu


kin.
Sau IN ta c th l mt ct d liu ly ra bi SELECT, hoc danh sch cc gi tr
cch nhau bi du phy (,).
V d 10: Chn tt c cc ct d liu (*) t s KHO m hng
(MA_VLSPHH) thuc danh sch cc m HH001, HH002, HH003 v LOAI_PHIEU l
nhp (N)
=bs_sql("SELECT *
FROM KHO
WHERE MA_VLSPHH IN ('HH001','HH002','HH003') AND LOAI_PHIEU='N' ")

V d 11: Ly ra tt c cc ct d liu (*) t s KHO m hng


(MA_VLSPHH) c trong danh sch m c loi (DMVLSPHH.LOAI) l VL v v
LOAI_PHIEU l nhp (N).
Trong tp tin Examble.xls c sheet DMVLSPHH cha thng tin v danh mc hng
ha.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

25/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

(Vng A3:D15 c t tn (Define Name) l DMVLSPHH )


=bs_sql("SELECT *
FROM KHO
WHERE MA_VLSPHH IN (SELECT MA_VLSPHH FROM DMVLSPHH WHERE LOAI = 'VL')
AND LOAI_PHIEU='N' ")

Kt qu l:

Lnh sau trn tr v danh sch cc m hng c loi l VL.


SELECT MA_VLSPHH FROM DMVLSPHH WHERE LOAI = 'VL'

Qua v d ta thy s linh hot troang ngn ng T-SQL. C th lm iu kin m d


liu lm iu kin nm sheet khc. V d trn, d liu ly ra l s KHO nhng d
liu lm iu kin ly DMVLSPHH so snh vi ct MA_VLSPHH s KHO.
Tm hiu thm LIKE, IN ti y:
http://www.w3schools.com/sql/sql_like.asp
http://www.w3schools.com/sql/sql_in.asp

V d 12: Ly ra tt c cc ct d liu (*) t s KHO THANH_TIEN >=


19000000
=bs_sql("SELECT *
FROM KHO
WHERE THANH_TIEN >= 19000000 ")
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

26/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d 13: Ly ra tt c cc ct d liu (*) t s KHO THANH_TIEN trong


khong t 19000000 n 25000000
=bs_sql("SELECT *
FROM KHO
WHERE THANH_TIEN >= 19000000 AND THANH_TIEN <= 25000000 ")
Cch khc l dng BETWEEN
=bs_sql("SELECT *
FROM KHO
WHERE THANH_TIEN BETWEEN 19000000 AND 25000000 ")

fieldname BETWEEN a AND b


Tng ng vi s snh
fieldname >= a AND fieldname <= b
Nu fieldname so snh trc a v sau b khng c du bng (= ) th khng c
dng BETWEEN
V d 14: Ly ra tt c cc ct d liu (*) t s KHO ngy chng t
(NAY_CT) ln hn 24/06/2006
=bs_sql("SELECT *
FROM KHO
WHERE NGAY_CT >= #10/24/2006# ")

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

27/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

(Trong T-SQL ca Excel, gi tr ngy phi nm trong hai du #, theo nh dng


MM/dd/yy)
Xin nhc li cc gi tr tham gia vo biu thc trong SQL ca Excel theo quy nh
nh sau:
Gi tr vn bn C k t nhy n ( ) bao hai bn
#Gi tr ngy thng# C k t # bao hai bn
S, phn trm, t l (Number) - Khng c k t bao hai bn
S dng t kha FROM

FROM table_source
table_source: l mt hay nhiu bng d liu ngun cha cc thng tin cn trch
lc (ly ra), lm iu kin lc. Trong Excel, bng d liu thng c nh ngha
(Define Name) l mt NAME c cu trc dng bng. Nh cc v d trn chnh l cc
vng KHO, DMVLSPHH, NKC. N c th l tn mt sheet c th, khi cn t theo
mu [Tn sheet$].
Cc v d sau:
=BS_SQL("SELECT * FROM [KHO$A3:K68]")
Nu vng d liu KHO!A3:K68 c t tn (Define Name) l KHO th cng thc
nh sau
=BS_SQL("SELECT * FROM KHO")
Nu ly d liu theo sheet th cng thc nh sau
= BS_SQL("SELECT * FROM [KHO$]")
Cng thc ly theo sheet [KHO$] tuy chy c nhng chng ta khng nn dng v
c th sheet cha nhiu loi d liu khc nhau, khng theo cu trc bng/table dn
n li trong qu trnh truy vn d liu. Chng ta thng nht dng phng php t
tn vng d liu c cu trc dng bng lm vic vi hm BS_SQL trong Add-in ATools.
Ghp d liu t nhiu bng

Cc v d cc phn trc gip chng ta cng hiu vic s dng t kha FROM.
Trong phn ny ti xin i su vo cc phng php ghp cc bng d liu li vi
nhau ri ly cc ct d liu ca chng ra mt bng kt qu cui cng.
V d chng ta c hai bng KHO v DMVLSPHH nh di y

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

28/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Cng thc ghp ni hai bng


Table1 Phng thc ghp Table2 ON Biu thc quan h (so snh) Table1 vi Table2
Cc phng thc ghp
INNER JOIN: ghp ngang bng. Ch d liu no c c hai bng mi hin ra. V d
bng 1 c gi tr 1, bng 2 c gi tr 1,2 th ch gi tr 1 c ly ra.

LEFT JOIN: d liu bng bn tri c ly ra ht, nhng d liu bng bn phi nu
tha mn iu kin mi ly ra.

RIGHT JOIN: d liu bng bn phi c ly ra ht, nhng d liu bng bn tri
nu tha mn iu kin mi ly ra.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

29/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

FULL JOIN: tt c d liu cc bng bn tri v bn phi c ly ra ht. Phng


thc ny l hp bi LEFT, RIGHT

By gi cn ghp hai bng KHO v DMVLSPHH li vi nhau. Mun ghp c


chng ta cn chn phng thc ghp v ch ra biu thc quan h gia chng.
Nu khng c l do c bit ta thng chn phng thc ghp ni INNER JOIN (11)

Table1 c quan h vi Table2 nu chng cng cha mt loi thng tin ct no .

Bng KHO v DMVLSPHH th ct MA_VLSPHH ca c hai bng ny u lu mt loi


thng tin l m hng. Vy gia chng c quan h vi nhau bi ct
KHO.MA_VLSPHH v DMVLSPHH.MA_VLSPHH . Tn ct cc bng c th khc nhau
nhng ni dung phi lu loi thng tin ging nhau.
Biu thc th hin quan h l
KHO. MA_VLSPHH=DMVLSPHH.MA_ VLSPHH

Cng thc ghp s KHO vi s DMVLSPHH s l:


FROM
KHO INNER JOIN DMVLSPHH ON KHO.MA_VLSPHH=DMVLSPHH.MA_VLSPHH

http://www.w3schools.com/sql/sql_join_inner.asp

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

30/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Thc hin cng thc ly ton b d liu trong s KHO (KHO.*) v ton b d
liu s DMVLSPHH(DMVLSPHH.*) c lin quan vi nhau
=bs_sql("SELECT KHO.*,DMVLSPHH.*
FROM
KHO INNER JOIN DMVLSPHH ON KHO.MA_VLSPHH= DMVLSPHH.MA_VLSPHH")

Bn cng c th ghp hai bng theo cch sau:


=bs_sql("SELECT KHO.*,DMVLSPHH.*
FROM KHO, DMVLSPHH
WHERE KHO.MA_VLSPHH= DMVLSPHH.MA_VLSPHH")

Khi ghp ni t hai bng tr ln, mun ly d liu bng no ta cn lm theo c


php
Tn_bng.Tn_ct
KHO.* l ton b cc ct s KHO
DMVLSPHH.* l ton b cc ct s DMVLSPHH
V d 15: Ly ra cc ct thng tin m hng, tn hng, s lng, n gi, thnh
tin t s KHO.
T yu cu trn ta thy trong bng KHO khng c tn hng. Mun ly tn
hng th phi ni bng KHO vi DMVLSPHH v mi c tn hng.
Cng thc l:
=bs_sql("SELECT KHO.MA_VLSPHH,DMVLSPHH.TEN,KHO.SLG,KHO.DON_GIA,KHO.THANH_TIEN
FROM
KHO INNER JOIN DMVLSPHH ON KHO.MA_VLSPHH= DMVLSPHH.MA_VLSPHH")

Dng phng php t ALIAS (tn khc) cho cc bng rt ngn cu lnh. Khi
t Alias ta c th dng tn Alias thay cho tn bng.
C php:
Tn_bng Tn_alias
V d: KHO K (K l tn Alias ca KHO)
Cng thc trn sa theo cch t Alias nh sau:
=bs_sql("SELECT K.MA_VLSPHH,H.TEN,K.SLG,K.DON_GIA,K.THANH_TIEN
FROM
KHO K INNER JOIN DMVLSPHH H ON K.MA_VLSPHH= H.MA_VLSPHH")

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

31/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Theo cch lm cng thc Excel thng thng, mun ly tn phi dng
VLOOKUP tm m hng trong DMVLSPHH ri copy cho tt c cc dng cn li. Vi
Add-in A-Tools ch cn kt ni vi s danh mc nh trn ri SELECT thng tin cn
ly. Ch mt cng thc BS_SQL duy nht l hon thnh c mt bng d liu bo co.
Vi v d trn, nu lm bng SQL Builder ta s c mn hnh thit k nh di y.

( to Alias, nhp p chut vo tn bng ri nhp tn Alias l c.)


V d quan h gia cc bng trong tp tin (CSDL) Examble.xls di y

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

32/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel


SELECT
FROM
((DMVLSPHH INNER JOIN KHO
ON KHO.MA_VLSPHH = DMVLSPHH.MA_VLSPHH)
INNER JOIN DMKH ON KHO.MA_KH = DMKH.MA_KH)
INNER JOIN DMNB ON KHO.MA_NB = DMNB.MA_NB

V d 16: Lp s gm cc ct: M khch hng, Tn khch hng, S tin. D


liu c ly t 2 s KHO v DMKH.
Danh mc khch hng. Tn t l DMKH

Cng thc l:
=bs_sql("SELECT K.MA_KH, KH.TEN, K.THANH_TIEN
FROM KHO K INNER JOIN DMKH KH ON K.MA_KH=KH.MA_KH
WHERE LOAI_PHIEU='X' ")
Hoc
=bs_sql("SELECT K.MA_KH, KH.TEN, K.THANH_TIEN
FROM KHO K, DMKH KH
WHERE K.MA_KH=KH.MA_KH AND LOAI_PHIEU='X' ")
Kt qu l:

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

33/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

S dng t kha GROUP BY

GROUP BY group_by_expression: c dng khi bn mun thng k ch tiu s


lng v nhm theo mt hoc nhiu i tng.
group_by_expression: l danh sch cc ct c nhm, cc ct c ngn
cch nhau bi du phy (,)
Cc hm dng thng k thng dng gm: SUM , COUNT , AVG , MIN , MAX

V d 17: ly ra d liu gm cc ct: MA_KH, Tng tin trn s NKC, iu kin


NOTK l 131 (tng hp s tin cho tng khch hng m pht sinh N TK =131)
=bs_sql("SELECT MA_KH AS [M KH], SUM(THANH_TIEN) AS [Tng tin]
FROM NKC
WHERE NOTK LIKE '131%'
GROUP BY MA_KH")

Kt qu l:

V d 18: Lp s gm cc ct: MA_VLSPHH, Tng s lng hng, iu kin


vi LOAI_PHIEU l nhp (N)
=bs_sql("SELECT MA_VLSPHH AS [M hng], SUM(SLG) AS [Tng Nhp]
FROM KHO
WHERE LOAI_PHIEU='N'
GROUP BY MA_VLSPHH ")

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

34/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d 19: Lp s gm cc ct: MA_VLSPHH, Tn hng, Tng s lng hng,


iu kin LOAI_PHIEU l nhp (N)
=bs_sql("SELECT K.MA_VLSPHH AS [M hng],H.TEN AS [Tn hng],SUM(K.SLG) AS [Tng Nhp]
FROM KHO K INNER JOIN DMVLSPHH H ON K.MA_VLSPHH=H.MA_VLSPHH
WHERE LOAI_PHIEU='N'
GROUP BY K.MA_VLSPHH,H.TEN ")

Lu : gn nh tt c cc ct sau t kha SELECT ta a vo sau GROUP BY, tr


cc ct tnh ton.

V d 20: Lp danh sch gm m khch hng, tn khch hng vi s tin pht


sinh ln nht mi khch hng trong s KHO, vi loi phiu xut (X). Sp xp theo s
tin gim dn.
=bs_sql("SELECT K.MA_KH AS [M KH], KH.TEN AS [Tn], MAX(K.THANH_TIEN) AS [Tin]
FROM KHO K INNER JOIN DMKH KH ON K.MA_KH = KH.MA_KH
WHERE K.LOAI_PHIEU = 'X'
GROUP BY K.MA_KH, KH.TEN
ORDER BY MAX(K.THANH_TIEN) DESC")

ORDER BY MAX(K.THANH_TIEN) DESC l sp xp s tin pht sinh ln nht ca


mi khch hng gim dn. Nu khng ch ra DESC th l tng dn.

To trong SQL Builder s l

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

35/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

S dng t kha HAVING

HAVING search_condition
search_condition: l iu kin truy vn d liu ging nh dng vi t
kho WHERE nhng cu iu kin c s dng cc hm thng k SUM, COUNT,
MIN,MAX, AVG.
S dng khai bo HAVING thng i k sau vi khai bo GROUP BY

V d 21: Lp danh sch cc m hng vi tng gi tr nhp v > 60000000


=bs_sql("SELECT MA_VLSPHH AS [M hng], SUM(THANH_TIEN) AS [Tng tin]
FROM KHO
WHERE LOAI_PHIEU='N'
GROUP BY MA_VLSPHH
HAVING SUM(THANH_TIEN)>60000000")

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

36/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d 22: Lp danh sch cc m hng c s ln nhp > 4


=bs_sql("SELECT MA_VLSPHH AS [M hng], COUNT(MA_VLSPHH) AS [S ln]
FROM KHO
WHERE LOAI_PHIEU='N'
GROUP BY MA_VLSPHH
HAVING COUNT(MA_VLSPHH)>4")

S dng t kha ORDER BY

ORDER BY order_expression [ ASC | DESC ]


T kha ny cho php sp xp theo cc ct tng dn (ASC) hoc gim dn
(DESC), ngm nh l tng dn.
order_expression: L danh sch ct c sp xp, ct no ng trc th c
xp trc, cc ct c cch nhau bi du phy (,).
C th khng cn ch ra tn ct, thay vo ta ch v tr ct trong select_list.
V d 23: Ly ra cc ct t s KHO sp xp theo NGAY_CT v SO_CT
=bs_sql("SELECT * FROM KHO ORDER BY NGAY_CT, SO_CT ")

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

37/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d 24: Chn tt c cc ct t s KHO, ct THANH_TIEN sp xp gim dn


=BS_SQL("SELECT * FROM KHO ORDER BY THANH_TIEN DESC ")
V d 25: Lp danh sch gm m khch hng, tn khch hng vi s tin pht
sinh ln nht mi khch hng trong s KHO, vi loi phiu xut (X). Sp xp theo s
tin gim dn.
=bs_sql("SELECT K.MA_KH AS [M KH], KH.TEN AS [Tn], MAX(K.THANH_TIEN) AS [Tin]
FROM KHO K INNER JOIN DMKH KH ON K.MA_KH = KH.MA_KH
WHERE K.LOAI_PHIEU = 'X'
GROUP BY K.MA_KH, KH.TEN
ORDER BY MAX(K.THANH_TIEN) DESC")

Cc hm chun trong ngn ng T-SQL

Cc bn tham kho ti y:
http://www.w3schools.com/sql/sql_functions.asp

Khai bo tham s OPTIONS trong hm BS_SQL


BS_SQL(SQL [,OPTIONS])
Tham s OPTIONS trong hm BS_SQL c cch khai bo c bit, n khc vi
cch truyn tham s thng thng trong cc hm ca Excel. OPTIONS l chui khai
bo mt hay nhiu cc tham s cho hm BS_SQL, cc tham s c ngn cch nhau
bi du chm phy ( ; ).

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

38/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Cch thc khai bo tham s trong OPTIONS:


PARAM1=value1; PARAM2=value2; PARAM3=value3;.
Cc tham s m OPTIONS cho php l:
INSERT, HR, NAME, AUTONAMES(), DBKEY, SERVERSOURCE,
OnBeforeUpdate, OnAfterUpdate, OnDblClick, OnSelectionChange, OnGetValue
Tham s INSERT

C php: INSERT=YES|NO
Nu l YES, bng kt qu c chn vo hin thi (cc d liu ng sau s b y
xung), NO th bng kt qu c ghi ln vng d liu nu b trn.
Nu khng khai bo tham s ny, ngm nh hm BS_SQL t INSERT=NO
Khi to bo co bt buc phi t INSERT=YES . Mi sheet ch nn c mt bo co!
V d 26: Ly ra d liu gm cc ct: MA_VLSPHH, SLG, DON_GIA,
THANH_TIEN vi m hng l HH001. Dng thuc tnh chn dng.
=bs_sql("SELECT MA_VLSPHH, SLG, DON_GIA, THANH_TIEN FROM KHO WHERE
MA_VLSPHH='HH001' , "INSERT=YES)
Khi bn thay i HH001 thnh HH002 th dng kt qu t co gin v khng
nh hng ti cc dng d liu bn di bng kt qu. Tham s INSERT cn dng
khi lm bo co.
Tham s HR

c.

C php: HR=YES|NO
Nu l YES (ngm nh), kt qu bng d liu c dng tiu , NO th khng
Nu khng khai bo tham s ny, ngm nh hm BS_SQL t HR=YES

V d 27: ly ra m hng duy nht trong bng KHO. Bng kt qu khng c


dng tiu
=bs_sql(SELECT DISTINCT MA_VLSPHH FROM KHO,
HR=NO)

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

39/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Tham s NAME

C php: NAME = Tn vng


Cho php t tn vng kt qu theo tn c khai bo. Bnh thng trong Excel ta
phi lm: chn (bi en) vng, nhn CTRL+F3 v to tn. Add-in A-Tools s t lm
vic ny cho bn. Khi khai bo NAME vng kt qu s t c to tham chiu ng
vo vng d liu ca n.
V d 28: ly ra m hng duy nht trong bng KHO. Bng kt qu khng c
dng tiu . t tn bng l MAHH
=bs_sql(SELECT DISTINCT MA_VLSPHH FROM KHO,
HR=NO; NAME=MAHH)

Vi cch thc to danh sch duy nht ng thi to NAME nh MAHH nh trn rt
tin cho vic to Validation dng List. N phc v cho thit k cc mc chn m
trong bo co.
Tham kho cch to Validation List trong Excel ti y:
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

40/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

http://handung107-giaiphapexcel.blogspot.com/2008/11/excel-hack-17.html
Tham s AUTONAMES

C php hm: AUTONAMES([Tn vng] [,Chui mu])


Hm AUTONAMES t ng to Name (Tn vng) cho cc ct d liu trong bng kt
qu.
Tn vng: l tn bng kt qu s c t tn. Tham s ny th khai bo hoc
khng.
Chui mu: tn cc ct d liu s c t vi tn bt u bi "Chui mu". Tham
s ny c th khai bo hoc khng.
V d 29: Ly ra cc ct NGAY_CT, MA_VLSPHH, THANH_TIEN t s KHO.
Bng kt qu c t tn l DULIEU, cc ct trong bng kt qu c t tn vi
nhm k t u l DL_
cc ct c t t ng vi tn bt u l "DL_" .
=bs_sql("SELECT NGAY_CT, MA_VLSPHH, THANH_TIEN FROM KHO",
"AUTONAMES(DULIEU, DL_ )")
Sau khi chy cng thc trn, A-Tools s to cc NAME:
DULIEU
DL_NGAY_CT
DL_MA_VLSPHH
DL_THANH_TIEN
Bn c th s dng cc NAME to nh trn cho cc mc ch khc. V d to cng
thc tnh tng vng thnh tin ca ct d liu va tr v bi cng thc trn .
=SUM(DL_THANH_TIEN)
Nh vy nu s dng AUTONAMES(DULIEU) th khng cn khai bo NAME=DULIEU

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

41/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Vn v d trn nhng tn cc ct c t t ng. Bng d liu khng c t


tn.
=bs_sql("SELECT NGAY_CT, MA_VLSPHH, THANH_TIEN FROM KHO",
"AUTONAMES()")
Tham s DBKEY Lin kt vi CSDL bn ngoi vo bng tnh Excel

Add-in A-Tools cho php kt ni vi cc CSDL ngoi: MS Access, Foxpro, MS


SQL, MySQL, kt ni vo bng tnh Excel thng qua m kt ni DBKEY.
Cch to DBKEY
Vi Excel 2003 vo menu A-Tools->Truy vn d liu chn DBKEY - Thit
lp cc kt ni vi CSDL bn ngoi.
Vi Excel 2007 hoc cao hn lm theo menu di y:

+ DBKEY: m ca kt ni. Tn DBKEY c s dng trong cc hm ca ATools nh BS_SQL, BS_TABLE, BS_DSUM,


+ Thm: to thm DBKEY (thm kt ni)

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

42/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Ty vo loi CSDL m ta chn cc mc to tng ng. Ring mc


ODBC/ConnectionString ta c th to m DBKEY kt ni t bt k CSDL no m
Windows cho php.
Nhn trong bng qun tr DBKEY trn, ta thy c m DBKEY l MDB kt ni
ti tp tin CSDL Access Examble.mdb. Ta s c v d kt ni ti CSDL ny sau.
+ Sa: sa li cc thong s thit lp DBKEY
+ G b: g b DBKEY khi A-Tools. Nu DBKEY b g b, cc cng thc s
dng ti DBKEY ny u b li.
V d 30: Kt ni vi CSDL bn ngoi. M tp tin C:\A-Tools\DATA_DEMO\Access
Databases\Examble.mdb bng MS Access. M table KHO ta c mn hnh bn di

Mt m DBKET l MDB c to v kt ni ti tp tin Examble.mdb. Ta c th


truy vn d liu t tp tin ny qua DBKEY=MDB. iu kin truy vn l ly ton b
d liu trong table KHO, vi loi chng t l nhp N.
=BS_SQL(SELECT * FROM KHO WHERE LOAI_PHIEU=N , DBKEY=MDB)
Kt qu trong bng tnh Excel c nh sau:

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

43/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

M hnh kt ni cc CSDL ngoi qua DBKEY vo bng tnh Excel

Cc loi CSDL: Excel, Access, Foxpro, SQL Server, MySQL,


DataSource/ODBC/ConnectionString,..

DBKEY, SERVERSOURCE

BS_SQL

Excel Worksheet
Xem thm video to DBKEY
http://bluesofts.net/giai-phap-phan-mem/a-tools-truy-van-loc-soan-thao-va-quan-tridu-lieu-excel-qua-mang/180-tao-dbkey-ket-noi-du-lieu.html
Khi ngi dng nm c cch to v kt ni vi DBKEY th c th c
nhng thit k tp tin bo co Excel chuyn nghip hn. C th thit k tp tin nhp
d liu ring. Tp tin ny c kt ni vo mt DBKEY. Mt tp tin Excel khc
lm bo co bi hm BS_SQL v kt ni qua DBKEY ti tp tin Excel d liu. Vi
phng php ny tp tin Excel s c dung lng nh v chy rt nhanh.
Tp tin Excel
nhp d liu

DBKEY

Tp tin Excel
Lm bo co

Chng trnh ng dng trn Excel


Phng php lm bo co cho nhiu doanh nghip cng m hnh

V d bn lm k ton cho 3 cng ty, m hnh cc cng ty ny ging nhau


nn cu trc CSDL ging nhau. Mi cng ty bn to mt tp tin CSDL Excel ring.
Mi tp tin c kt ni vo mt DBKEY, v d cc DBKEY: CT1, CT2, CT3. Bn to
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

44/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

mt tp tin Excel lm bo co. Cng thc trong tp tin bo co ny dng hm


BS_SQL kt ni ti cc CSDL ngoi bi DBKEY. Chn mt trong mt sheet no
khai bo m DBKEY. Nh l ly A1 khai bo ;DBKEY=CT1. Vy cc cng
thc lm bo co lm theo mu di y:
=BS_SQL(SELECT FROM, Cc tham s; & A1)
A1 cha gi tr ;DBKEY=CT1 v th cng thc lun ly d liu ca CT1 Cng ty
1. Nu cn m bo co cho CT2 Cng ty 2 ch cn thay A1 l ;DBKEY=CT2.
Tham s SERVERSOURCE: Truy vn d liu t my ch

chy tham s ny th my ch A-Tools phi ang m. Nu my ch A-Tools


cha chy, vo menu A-Tools chy Start Server/To my ch. Thc hin cc vic
np CSDL Excel chia s v thit lp cc tham s cn thit.
Xem thm video:
http://bluesofts.net/giai-phap-phan-mem/a-tools-truy-van-loc-soan-thao-vaquan-tri-du-lieu-excel-qua-mang/184-huong-dan-chia-se-file-excel-qua-mang-laninternet-phan-1-.html
C php: SERVERSOURCE=YES|NO
T my khch dng hm BS_SQL vi vic gn tham s
SERVERSOURCE=YES khi d liu s c ly t my ch tr v cho my
khch. Nu khng khai bo th tng ng vi SERVERSOURCE=NO, d liu s ly
ca my tnh hin ti ang chy (localhost).
Gi s my ch ang chy v ang m mt workbook c vng d liu tn l
KHO. Ti my khch, ly d liu trong my ch th cng thc nh sau:
=BS_SQL("SELECT * FROM KHO" , "SERVERSOURCE=YES")
Nu my ch ang c m DBKEY l XLS kt ni ti tp tin Excel
Examble.xls. Ti my khch, ly d liu trong my ch th cng thc nh sau:
=BS_SQL("SELECT * FROM KHO" , "DBKEY=XLS; SERVERSOURCE=YES")
Nu hm BS_SQL lp trong mt tp tin v tp tin ny c chia s t my

ch. Khi my khch kt ni vo my ch ri m tp tin ny th hm BS_SQL


t ng truy vn d liu ca my ch v tr kt qu v my khch mc d
khng cn khai bo SERVERSOURCE=YES.

Cc tham s chy th tc s kin Macro/VBA

Cc tham s l:
OnBeforeUpdate, OnAfterUpdate, OnDblClick, OnSelectionChange, OnGetValue
Nu bn khng bit lp trnh VBA th b qua cc tham s ny.
Xem cc v d trong tp tin Excel
C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\Report 3 So ke toan A-Tools
VBA.xls

C th lp trnh cc macro trong VBA chy trong cc s kin ca hm BS_SQL,


khai bo chy cc macro thc hin trong tham s OPTIONS. Cc tham s c khai
bo nh sau:
+ Cho php chy mt macro trc khi cp nht d liu vo bng tnh
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

45/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

OnBeforeUpdate = YourMacro
+ Cho php chy mt macro sau khi d liu c cp nht
OnAfterUpdate = YourMacro
+ Cho php chy mt macro khi nhp p chut vo vng d liu (c hm BS_SQL)
OnDblClick = YourMacro
+ Cho php chy mt macro khi con tr di chuyn
OnSelectionChange = YourMacro
+ Cho php chy mt macro (hm) thay i gi tr trong qu trnh nhn d liu
t kt qu truy vn SQL.
OnGetValue = YourMacro
vit macro, bn phi to Module trong VBE (nu cha c). Phn u module cn
a khai bo hai hm API ca Add-in A-Tools l GetFieldNames, SetDataValue
can thip vo phn t mng kt qu tr v ca hm BS_SQL. Khai bo nh sau:
#If VBA7 Then
Declare PtrSafe Function GetFieldNames Lib "AddinATools.dll" (ByRef FieldNames) As
Long
Declare PtrSafe Function SetDataValue Lib "AddinATools.dll" (ByVal Row As Long,
ByVal Column As Long, ByVal Value As Variant) As Long
#Else
Declare Function GetFieldNames Lib "AddinATools.dll" (ByRef FieldNames) As Long
Declare Function SetDataValue Lib "AddinATools.dll" (ByVal Row As Long, ByVal
Column As Long, ByVal Value As Variant) As Long
#End If
Cch khai bo v vit macro theo tng dng th tc s kin
Cho php chy mt macro trc khi cp nht d liu vo bng tnh
Khai bo trong tham s OPTIONS ca hm BS_SQL: OnBeforeUpdate =
DoBeforeUpdate
=BS_SQL(chui khai bo SQL, ;OnBeforeUpdate = DoBeforeUpdate)
Trong mi trng lp trnh (VBE), vit th tc "DoBeforeUpdate" trong mt module theo
cu trc sau
Sub DoBeforeUpdate(ByVal OldDataTable As Range, ByVal NewDataTable As Range, ByVal
DataArray)
'C th i tn th tc
+ OldDataTable: l i tng qun l vng d liu c (trc khi hm BS_SQL chy)
+ NewDataTable: l i tng qun l vng d liu mi (sau khi hm BS_SQL chy)
'+ DataArray: la mng 2 chiu. Cc phn t dng v ct nhn gi tr t 0
'Gi tr ti dng 1 ct 2 ca mng l DataArray(1,2) , trn bng tnh Excel th l gi tr
ca dng 2 ct 3.
End Sub

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

46/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d:
Sub DoBeforeUpdate(ByVal OldDataTable As Range, ByVal NewDataTable As Range, ByVal
DataArray)
Const Column = 6
Dim Row As Long
MsgBox "OldDataTable:" & OldDataTable.Address & Chr(13) & "NewDataTable:" &
NewDataTable.Address, , "Options: OnBeforeUpdate=DoBeforeUpdate"
For Row = LBound(DataArray, 1) To UBound(DataArray, 1)
If Row = 0 Then
DataArray(Row, Column) = DataArray(Row, 5)
Else
DataArray(Row, Column) = DataArray(Row - 1, Column) + DataArray(Row, 5)
End If
SetDataValue Row, Column, DataArray(Row, Column)
Next Row
End Sub

Cho php chy mt macro sau khi cp nht d liu vo bng tnh
Khai bo trong tham s OPTIONS ca hm BS_SQL: OnAfterUpdate =
DoAfterUpdate
=BS_SQL(chui khai bo SQL, ;OnAfterUpdate = DoAfterUpdate)
Trong mi trng lp trnh (VBE), vit th tc "DoAfterUpdate" trong mt module theo
cu trc sau

Sub DoAfterUpdate(ByVal DataTable As Range)


'C th i tn th tc
+ DataTable tng t nh NewDataTable trong DoBeforeUpdate, l vng d liu
trong bng tnh Excel c kt qu tr v ca hm BS_SQL.
End Sub

Cho php chy mt macro khi nhp p chut trong vng cng thc
Khai bo trong tham s OPTIONS ca hm BS_SQL: OnDblClick = DoDblClick
=BS_SQL(chui khai bo SQL, ;OnDblClick = DoDblClick)
Trong mi trng lp trnh (VBE), vit th tc "DoAfterUpdate" trong mt module theo
cu trc sau
Sub DoDblClick(ByVal DataTable As Range, ByVal Row As Integer, ByVal Column As
Integer)
'C th i tn th tc
Row, Column l tr s dng, ct trong vng DataTable
End Sub

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

47/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d: Nhp p chut vo vng cng thc, t ng m sheet Demo v trong sheet


Demo, gn C4=DataTable(1, Column), C5=DataTable(Row, 1)
Sub DoDblClick(ByVal DataTable As Range, ByVal Row As Integer, ByVal Column As Integer)
Dim WS As Worksheet
If Row = 1 Or Column < 3 Then
Exit Sub
End If
Set WS = Sheets("Demo")
WS.Select
On Error GoTo Done:
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
WS.Range("C4").Value = DataTable(1, Column)
WS.Range("C5").Value = DataTable(Row, 1)
WS.Range("C5").Select
Done:
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub

Cho php chy mt macro khi di chuyn chn trong vng cng thc

Khai bo trong tham s OPTIONS ca hm BS_SQL: OnSelectionChange =


DoSelectionChange
=BS_SQL(chui khai bo SQL, ;OnSelectionChange = DoSelectionChange)
Trong mi trng lp trnh (VBE), vit th tc "DoSelectionChange" trong mt module theo
cu trc sau

Sub DoSelectionChange(ByVal DataTable As Range, ByVal Row As Integer, ByVal Column


As Integer)
'C th i tn th tc
End Sub
V d:

Sub DoSelectionChange(ByVal DataTable As Range, ByVal Row As Integer, ByVal Column As


Integer)
Application.Caption = Row & ":" & Column & " = " & DataTable(Row, Column) 'ActiveCell.Value
End Sub

Cho php chy mt macro (hm) khi nhn gi tr cho tng phn t ca
mng kt qu tr v
Khai bo trong tham s OPTIONS ca hm BS_SQL: OnGetValue=GetValue
=BS_SQL(chui khai bo SQL, ;OnGetValue=GetValue)
Trong mi trng lp trnh (VBE), vit th tc "GetValue" trong mt module theo cu trc
sau
Function GetValue(ByVal DataArray, ByVal Row As Integer, ByVal Column As Integer, ByVal
Value As Variant)
'C th i tn hm
'GetValue = NewValue
End Function
V d: Ti ct 2 ca mng gi tr c thm s dng v chui www.bluesofts.net, ct 6 th tnh ly k
Function GetValue(ByVal DataArray, ByVal Row As Integer, ByVal Column As Integer, ByVal Value As
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

48/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Variant) As Variant
If Column = 2 Then
GetValue = Row & " " & "[www.Bluesofts.net] " & Value
End If
If Column = 6 Then
If Row = 0 Then
GetValue = DataArray(Row, 5)
Else
GetValue = DataArray(Row - 1, Column) + DataArray(Row, 5)
End If
End If
End Function

Gii thch cc tham s trong cc th tc s kin:


+ DataTable: L vng d liu trn sheet, cha kt qu tr v ca hm BS_SQL, dng
(Row) v ct (Column) nhn gi tr t 1
+ DataArray: L mng (2 chiu R:C) , cha gi tr (lu trong b nh) m hm BS_SQL
tr v bng tnh. Trong b nh, dng (Row) v ct (Column) ca mng nhn gi tr t 0
+ Row, Column: L dng, ct ca DataTable (gi tr nh nht l 1) hoc DataArray (gi tr
nh nht l 0)
+ OldDataTable: L vng d liu c trn sheet (trc khi chy hm BS_SQL)
+ NewDataTable: L vng d liu mi trn sheet (sau khi chy hm BS_SQL)

Cc hm quan trng phi hp vi hm BS_SQL trong lp bo

to mt bo co hon chnh Add-in A-Tools cung cp thm mt s hm quan


trng phi hp vi hm BS_SQL trch lc d liu v lm bo co. Cc hm l:
RECNO, CELL, RANGE, DATA, GETONCE, FORMULA, FIELDIF, VTC, SQL.
Trc khi c phn ny cc bn hy m tp tin
C:\A-Tools\HELP & DEMOS\Bai 2 - Cac ham ho tro nhom ham Database Functions.xls
Hm RECNO: To s th t

Cu trc: RECNO([FirstValue][,StepValue])
FirstValue: l mt s nguyn c gn cho dng u tin, tham s ny nu
khng nhp gi tr ngm nh l 1.
StepValue: l mt s to bc nhy, tham s ny gi tr ngm nh l 1.
V d 31: nh s th t lin tip 1,2,
=bs_sql("SELECT RECNO() AS [STT],* FROM DMVLSPHH")

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

49/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d 32: nh s th t t 1, bc nhy l 2. Kt qu l 1,3,5,


=bs_sql("SELECT RECNO(1,2) AS [STT],* FROM DMVLSPHH")
V d 33: nh s th t lin tip t 100
=bs_sql("SELECT RECNO(100) AS [STT],* FROM DMVLSPHH")
Hm CELL: Ly gi tr ti mt hoc NAME trong bng tnh

Hm CELL ly gi tr ti a ch ch nh. Hm CELL gip ta xy dng cng


thc SQL tham chiu ti gi tr ca mt trong bng tnh, y l iu kin lm cho
bo co ng. Khi thay gi tr c tham chiu, t con tr ti vng cng thc
BS_SQL nhn CTRL+SHIFT+A cp nht.
Hm CELL c hai cu trc:
+ Cu trc 1: CELL(AddressCell [,ValueType [,DateFmt] ] )
Nhn gi tr ti a ch "AddressCell" trong bng tnh
+ Cu trc 2: CELL(R,C [,ValueType [,DateFmt] ] )
AddressCell: a ch
R, C: l cc gi tr ca dng v ct hm CELL nhn gi tr.
ValueType: nhn mt trong cc gi tr
T - Nu xc ng gi tr l kiu vn bn (Text)
D - Nu xc ng gi tr l kiu ngy (Date)
N - Nu xc ng gi tr l kiu s (Number)
Nu b qua, A-Tools t ng xc nh kiu gi tr (theo Format Cell)
DateFmt: L nh dng ngy h thng s dng lm chun, ngm nh nhn gi tr
MM/dd/yy . D bn ang s dng kiu ngy thng dd/MM/yy cng khng nn thay
i, ch thay i nu thc s cn thit. Tham s ny ch s dng khi ValueType l D
(xc nh gi tr trong AddressCell l kiu Date)
V d 34: Hm CELL iu kin tham chiu ti cha gi tr vn bn trong
bng tnh
Gi thit B10 cha gi tr HH001. Cn ly tt c d liu t bng KHO m m hng
ti B10.
=bs_sql("SELECT * FROM KHO WHERE MA_VLSPHH=CELL(B10)")

C th thay CELL(B10) thnh CELL(B10,T) A-Tools hiu chc chn B10 l vn


bn. V c trng hp l vn bn nhng ngi dng nh dng B10 l General v
nhp s.
C th thay CELL(B10) thnh CELL(10,2) dng 10, ct 2, theo cu trc 2.
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

50/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d 35: Hm CELL Ly d liu t s KHO m MA_VLSPHH l m trong


B10 V s lng > s lng B11. Gi thit B11 cha gi tr 2.
=bs_sql("SELECT * FROM KHO WHERE MA_VLSPHH=CELL(B10) AND SLG>CELL(B11)")

C th thay CELL(B11) thnh CELL(B11,N) p v kiu s.

V d 36: Hm CELL Ly d liu t s KHO m MA_VLSPHH l m trong


B10 V s lng > s lng B11 V ngy>ngy B12. Gi thit B11 cha gi
tr 2, B12 cha gi tr 25/06/2005.
=bs_sql("SELECT * FROM KHO WHERE MA_VLSPHH=CELL(B10) AND SLG>CELL(B11) AND
NGAY_CT>CELL(B12)")

C th thay CELL(B11) thnh CELL(B11,N) p v kiu s, CELL(B12) thnh


CELL(B12,D) p v kiu Date.
Kt qu l:

Hm RANGE: Ly gi tr ti mt hoc NAME trong bng tnh

Hm RANGE ly gi tr ti a ch ch nh. Hm RANGE gip ta xy dng


cng thc SQL tham chiu ti a ch ca mt trong bng tnh, y l iu kin
lm cho bo co ng. Hm RANGE c chuyn ha thnh cng thc ghp chui
trong Excel. Khi thay gi tr c tham chiu th vng cng thc BS_SQL t
ng cp nht. Hm RANGE cch dng ging hm CELL, nhng hm RANGE th b
chuyn ha v lm cho cng thc BS_SQL t ng cp nht.
Cu trc: CELL(AddressCell [,ValueType [,DateFmt] ] )
Nhn gi tr ti a ch "AddressCell" trong bng tnh
AddressCell: a ch
ValueType: nhn mt trong cc gi tr
T - Nu xc ng gi tr l kiu vn bn (Text)
D - Nu xc ng gi tr l kiu ngy (Date)
N - Nu xc ng gi tr l kiu s (Number)
Nu b qua, A-Tools t ng xc nh kiu gi tr (theo Format Cell)
DateFmt: L nh dng ngy h thng s dng lm chun, ngm nh nhn gi tr
MM/dd/yy . D bn ang s dng kiu ngy thng dd/MM/yy cng khng nn thay
i, ch thay i nu thc s cn thit. Tham s ny ch s dng khi ValueType l D
(xc nh gi tr trong AddressCell l kiu Date)
V d 37: Hm RANGE iu kin tham chiu ti cha gi tr vn bn trong
bng tnh

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

51/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Gi thit B10 cha gi tr HH001. Cn ly tt c d liu t bng KHO m m hng


ti B10.
=bs_sql("SELECT * FROM KHO WHERE MA_VLSPHH=RANGE(B10)")
Hm DATA: Ly gi tr ti mt v tr ca mng kt qu

Hm DATA dng sau t kha SELECT. Nhn gi tr ti v tr dng, ct ca


mng hai chiu (2D), mng ny l mng kt qu tr v ca hm BS_SQL. S ct ca
n ty vo danh sch biu thc lit sau t kha SELECT.
Cu trc hm: data(Row,Col)
Tr v gi tr ti dng (Row) v ct (Col) trong mng gi tr.
Row, Col: l s nguyn dng (>=0) l gi tr dng, ct hoc cc bin h
thng di y:
+ PrevRow: Tr v dng lin trc
+ Row: Tr v dng ang hot ng
+ PrevCol: Tr v ct lin trc
+ Col: Tr v ct ang hot ng
Cu trc mng kt qu tr v bi hm BS_SQL. Th t dng v ct trong
mng bt u t v tr 0.

V d 38: Lp s chi tit hng ha gm SO_CT, NGAY_CT, SLG,


DON_GIA,THANH_TIEN, Ly k. Ct Ly k c tnh bi cng thc
Slg lu k ct j = Slg lin trc ca ct j + Gi tr mi ti ct Slg

Theo nh yu cu trn th bng kt qu s c 6 ct: SO_CT, NGAY_CT, SLG,


DON_GIA,THANH_TIEN, Ly k. Mng kt qu s lu gi tr ti cc ct c v tr t
0->5. V tr ct SLG l 2, ct Ly k l 5.
Slg lu k = Slg lin trc ca ct + Gi tr mi ti ct Slg ( th t ct l 2)
Hm DATA th hin vic tnh ly k nh sau:

data(PrevRow,Col)+data(Row,2) AS [Lu k]
Cch lm:
+ Ti B6 t cng thc
="SELECT KHO.SO_CT, KHO.NGAY_CT, KHO.SLG, KHO.DON_GIA, KHO.THANH_TIEN,
data(PrevRow,5)+data(Row,2) AS [Lu k]
FROM KHO
WHERE KHO.LOAI_PHIEU = CELL(C4) AND KHO.MA_VLSPHH = RANGE(C5)"
Dng RANGE(C5) (khng dng CELL(C5) v mun khi thay i m hng ti C5 th
bng d liu t ng cp nht li.
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

52/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Khi chui khai bo SQL di chng ta khng nn a trc tip vo hm BS_SQL m


nn a vo mt sau dng a ch ny a vo hm BS_SQL.
+ Ti B7 nhp cc dng tiu c du tin cho in n. Thit k khung bo co. Lp cc
cng thc Excel ch sn. Vng lp cng thc BS_SQL trng ti thiu 2 dng.

+ Ti B8 ( u tin ca vng cng thc) nhp cng thc BS_SQL vi chui SQL ly B6,
s dng tham s chn dng, khng hin dng tiu ca bng kt qu v dng 7 t
nhp ri.
=bs_sql($B$6,"HR=NO;INSERT=YES")
+ Kt qu ta c nh hnh di y

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

53/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Hm RANGE ly gi tr ti a ch ch nh. Hm RANGE gip ta xy dng


cng thc SQL tham chiu ti a ch ca mt trong bng tnh, y l iu kin
lm cho bo co ng. Hm RANGE c chuyn ha thnh cng thc ghp chui
trong Excel. Khi thay gi tr c tham chiu C5 th vng cng thc BS_SQL t
ng cp nht, cc dng d liu t ng co gin.
Hm MIN, MAX kt hp hm DATA

Cu trc: MIN(value1, value2)


Nu value1<value2 th hm MIN tr v value1
Cu trc: MAX(value1, value2)
Nu value1<value2 th hm MAX tr v value2
V d 39: Hm MIN, MAX kt hp hm DATA
=bs_sql("SELECT MA_VLSPHH,SLG, Max(DATA( Row, 1), 8) AS [MAX],
Min(DATA( Row, 1), 4) AS [MIN]
FROM KHO
WHERE LOAI_PHIEU = 'N' ")

ct MAX, cng thc Max(DATA( Row, 1), 8): Gi tr SLG so snh vi 8. V d dng
25, SLG=2 v vy ct MAX tr v 8 (MAX(2,8)=8)
ct MIN, cng thc Min(DATA( Row, 1), 4): Gi tr SLG so snh vi 4. V d dng
27, SLG=6 v vy ct MIN tr v 4 (MIN(6,4)=4).

Hm GETONCE: Ly gi tr ca biu thc mt ln dng u trong mng

Hm GetOnce dng sau t kha SELECT. Nhn gi tr ca biu thc Expr


mt ln cho dng u tin ca mng gi tr.
Cu trc hm: GetOnce(Expr) Nhn gi tr trong biu thc Expr. N ch
nhn dng u tin trong mng kt qu tr v bi BS_SQL.
V d 40: Lp s chi tit hng ha gm SO_CT, NGAY_CT, SLG,
DON_GIA,THANH_TIEN, Ly k. Ct Ly k c tnh bi cng thc
Slg lu k ct j = Tn u + Slg lin trc ca ct j + Gi tr mi ti ct Slg

Tn u l 20 nm G6.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

54/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Theo nh yu cu trn th bng kt qu s c 6 ct: SO_CT, NGAY_CT, SLG,


DON_GIA,THANH_TIEN, Ly k. Mng kt qu s lu gi tr ti cc ct c v tr t
0->5. V tr ct SLG l 2, ct Ly k l 5.
Cch lm:
+ Ti B6 t cng thc

="SELECT KHO.SO_CT, KHO.NGAY_CT, KHO.SLG, KHO.DON_GIA, KHO.THANH_TIEN,


GetOnce(Cell(G6))+data(PrevRow,5)+data(Row,2) AS [Lu k]
FROM KHO
WHERE KHO.LOAI_PHIEU = CELL(C4) AND KHO.MA_VLSPHH = RANGE(C5)"
+ Ti B8 ( u tin ca vng cng thc) nhp cng thc BS_SQL vi chui SQL ly B6,
s dng tham s chn dng, khng hin dng tiu ca bng kt qu v dng 7 t
nhp ri.
=bs_sql($B$6,"HR=NO;INSERT=YES")

Add-in A-Tools thc hin vic tnh ton trong mng kt qu nh sau:
+ Dng 0 ca mng (dng 8 ca Excel) cng thc l
GetOnce(Cell(G6))+data(PrevRow,5)+data(Row,2) AS [Lu k]
20 + 3 = 23
+ Dng 1 ca mng (dng 9 ca Excel) cng thc l
data(PrevRow,5)+data(Row,2) AS [Lu k]
23 + 2 = 25
Hm FORMULA: Ly gi tr ca cng thc Excel

Hm FORMULA dng nhn kt qu ca cng thc Excel


Cu trc hm: FORMULA(XlFml) - Nhn kt qu t biu thc XlFml
XlFml: L mt cng thc Excel.
V d 41: Lp s chi tit hng ha gm SO_CT, NGAY_CT, SLG,
DON_GIA,THANH_TIEN, Ly k. Ct Ly k c tnh bi cng thc
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

55/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Slg lu k ct j = Tn u + Slg lin trc ca ct j + Gi tr mi ti ct Slg

Tn u l cng thc Excel: 10+SUM(I3:I4)+G6


+ Ti B6 t cng thc

="SELECT KHO.SO_CT, KHO.NGAY_CT, KHO.SLG, KHO.DON_GIA, KHO.THANH_TIEN,


GetOnce(Formula(10+SUM(I3:I4)+G6))+data(PrevRow,5)+data(Row,2) AS [Lu k]
FROM KHO
WHERE KHO.LOAI_PHIEU = CELL(C4) AND KHO.MA_VLSPHH = RANGE(C5)"
+ Ti B8 ( u tin ca vng cng thc) nhp cng thc BS_SQL vi chui SQL ly B6,
s dng tham s chn dng, khng hin dng tiu ca bng kt qu v dng 7 t
nhp ri.
=bs_sql($B$6,"HR=NO;INSERT=YES")

+ Kt qu

Hm FIELDIF, IIF

Cu trc:
FieldIf(search_condition,ValueTrue,[ValueFalse],[Func])
search_condition: L biu thc logic, cch dng nh sau mnh WHERE
ValueTrue:L gi tr nu kt qu ca search_condition l ng (True),
ValueTrue c th l tn ct trong table_source.
ValueFalse:L gi tr nu kt qu ca search_condition l sai (False),
ValueFalse c th l tn ct trong table_source.
Func: Tn hm dng tnh (SUM, COUNT, MIN, MAX, AVG)
V d 42: Lp s chi tit nhp-xut tn hng ha. M hng nm C10. Gi tr
tn u F13. Tn = Tn trc + Nhp Xut
+ Ti B6 t cng thc
="SELECT so_ct, ngay_ct, FIELDIF(loai_phieu='N',Slg,0), FIELDIF(loai_phieu='X',Slg,0) ,
GetOnce(Cell(F13))+data(PrevRow,Col)+data(Row,2)-data(Row,3) AS [Tn]
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

56/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

FROM kho
WHERE ma_vlsphh=RANGE(C10)'"
+ Ti B14 ( u tin ca vng cng thc) nhp cng thc BS_SQL vi chui SQL ly
B11, s dng tham s chn dng, khng hin dng tiu ca bng kt qu v dng 12
t nhp ri.
=bs_sql(B6,"HR=NO;INSERT=YES")

+ Kt qu

V d 43: Lp s tng hp nhp-xut tn hng ha.


+ Ti B6 t cng thc
SELECT DMVLSPHH.MA_VLSPHH,DMVLSPHH.Ten, DMVLSPHH.Dvi,
FIELDIF(loai_phieu='N',SLG,0,SUM) as [N],
FIELDIF(loai_phieu='X',SLG,0,SUM) as [X],
N-X as [Tn]
FROM DMVLSPHH LEFT JOIN
KHO ON DMVLSPHH.MA_VLSPHH = KHO.MA_VLSPHH
GROUP BY DMVLSPHH.MA_VLSPHH, DMVLSPHH.Ten, DMVLSPHH.Dvi

+ Kt qu

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

57/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Ta c th dng hm IIF thay cho FIELDIF


SELECT DMVLSPHH.MA_VLSPHH, DMVLSPHH.Ten, DMVLSPHH.Dvi,
SUM(IIF(loai_phieu='N',SLG,0) as [N],
SUM(IIF(loai_phieu='X',SLG,0) as [X],
N-X as [Tn]
FROM DMVLSPHH LEFT JOIN
KHO ON DMVLSPHH.MA_VLSPHH = KHO.MA_VLSPHH
GROUP BY DMVLSPHH.MA_VLSPHH, DMVLSPHH.Ten, DMVLSPHH.Dvi
Hm VTC: To bo cc dng Cross Tab

Cu trc: VTC(ColumnName,Func,ColumnCalc,[FormatDate])
ColumnName: Tn ct m cc gi tr ca n lm tiu thc, iu kin tnh
Func: Tn hm dng tnh (SUM, COUNT, MIN, MAX, AVG)
ColumnCalc:Tn ct c tnh gi tr theo hm khai bo Func,
ct ny phi l kiu s.
FormatDate: L nh dng ngy. C th b qua tham s ny, nu kiu ca
ColumnName khng phi l kiu Date, hoc l kiu Date nhng d liu ang dng
mm/dd/yy. Nu ColumnName l kiu Date m d liu nhp khng phi dng
mm/dd/yy th FormatDate phi l mm/dd/yy.
Hm VTC s lit k gi tr duy nht trong ct ColumnName thnh cc ct.
Trong mi ct to ra c thng k gi tr ct ColumnCalc theo mt trong cc hm
SUM, COUNT, MIN, MAX, AVG.
V d 44: Lp s tng hp s lng hng xut cho cc khch hng. Gm cc
ct MA_VLSPHH, cc ct cn li l tng s lng hng xut cho tng m khch
hng.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

58/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

+ Ti B14 t cng thc


SELECT MA_VLSPHH, VTC(MA_KH, SUM, SLG)
FROM KHO WHERE LOAI_PHIEU='X'
GROUP BY MA_VLSPHH
B15 t cng thc s dng SQL B14
=bs_sql($B$14,"INSERT=YES")
+ Kt qu nh di y

VTC(MA_KH, SUM, SLG) : s lit k cc m khch hng duy nht thnh cc


ct, trong mi ct c tnh tng s lng mi mt hng.
GROUP BY MA_VLSPHH : A-Tools s thng k s liu v nhm theo mi mt
hng.
V d 45: Lp s tng hp s lng hng xut cho cc khch hng. Gm cc
ct MA_VLSPHHSTT, M hng, Tn hng, VT, Tng xut, Tn cc khch hng vi
s lng xut mi mt hng tng ng.
+ Ti A1 t cng thc
SELECT RECNO() AS STT,K.MA_VLSPHH AS [M], HH.TEN AS [Tn], HH.Dvi AS [VT],
SUM(K.SLG) AS [Tng xut], VTC(KH.TEN,SUM,K.SLG)
FROM KHO K, DMKH KH, DMVLSPHH HH
WHERE K.MA_KH=KH.MA_KH AND K.MA_VLSPHH=HH.MA_VLSPHH AND K.LOAI_PHIEU='X'
GROUP BY K.MA_VLSPHH, HH.TEN, HH.Dvi

A2 t cng thc s dng SQL A1


=bs_sql(A1,"INSERT=YES")
+ Kt qu nh di y

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

59/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d 46: Lp bng tng hp s lng cc hng ho xut kho theo tng ngy.
D liu c ly t s KHO.
+ Ti A1 t cng thc

SELECT MA_VLSPHH,SUM(SLG) AS [TNG XUT], VTC(NGAY_CT,SUM,SLG,MM/DD/YY)


FROM KHO
WHERE LOAI_PHIEU='X'
GROUP BY MA_VLSPHH

Hm SQL: Cp nht ngun d liu c hm BS_SQL

Cu trc: SQL(table_source[, update])


table_source: l tn ca bng(table) hay tn ca mt bng c truy vn bi
hm BS_SQL.
update: Nu l TRUE bng table_source s lun c cp nht li khi cng
thc BS_SQL gi n thc hin. L FALSE (ngm nh) hoc b trng th hm
BS_SQL ch cp nht bng table_source nu n ang trng thi #N/A (cha
cp nht).

Bn nn dng tham s vi gi tr theo ngm nh.


Hm SQL cn s dng khi cng thc table2 da vo ngun d liu ca table1, table1
c to bi hm BS_SQL.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

60/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

V d 47: Cp nht d liu ngun trc khi truy vn d liu.


+ Gi x ta lp cng thc ly ton b d liu trong s kho ca m hng HH001,
bng kt qu c t tn l DLHH1.
Cng thc l:
=bs_sql("SELECT * FROM KHO WHERE MA_VLSPHH='HH001' ", "NAME=DLHH1")

NAME=DLHH1: A-Tools s to vng d liu A9:K19 vi NAME l DLHH1.


+ Cn ly tt c d liu t bng DLHH1 to ra trn vi phiu nhp
Cng thc l:
=bs_sql("SELECT * FROM SQL(DLHH1) WHERE LOAI_PHIEU='N' ")

Phng php to bo co ng trong Excel vi hm BS_SQL


Phng php lm bo co ca Excel l phi lm NHIU cng thc gp li ri copy.
Phng thc lm bo ca Add-in A-Tools l ch cn lm MT cng thc c hm
BS_SQL to ra mt bo co. V mt vi l do khc na m bo co to bi hm
BS_SQL trong Add-in A-Tools chy nhanh v linh hot hn cch lm Excel thng
thng.
hc v nm c cch lm ta gi thit cn lp s chi tit vt t hng ha.
V d 48: Lp s chi tit vt t hng ha. S ny s lc ra cc dng d liu lin
quan n loi phiu c chn (LOAI_PHIEU) v ca m hng c chn
(MA_VLSPHH).
M tp tin c d liu v d Examble.xls c bng d liu ngun KHO.
Vic thit k c thc hin theo cc bc sau:

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

61/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Bc 1: Thit k cu trc ca bo co
To sheet CTHH trong tp tin Examble.xls thit k cu trc bo co theo hnh
di y.

To mc chn m dng Validation - List

Trong bo co c 2 mc chn:
+ Loi phiu ti C4 cn chn loi phiu N, X t danh sch:
+ M VLSPHH ti C5 cn chn t danh sch:

Mc chn nh trn cha danh sch cc m hng ha, vt t pht sinh trong ct
MA_VLSPHH ca bng KHO.
np vo danh sch trn, u tin cn to sheet mi (nu cha c) v t tn
M duy nht trong file Examble.xls. Trong sheet ny lp cng thc BS_SQL
ly ra danh sch m hng ha, vt t duy nht, vng kt qu c t tn l
MAHH
Cng thc:
=bs_sql("SELECT DISTINCT MA_VLSPHH FROM KHO", "HR=NO; NAME=MAHH")
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

62/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

T kha DISTINCT ly danh sch duy nht


NAME=MAHH A-Tools to tn (Define Name) vng d liu kt qu l MAHH.

Quay v sheet CTHH, chn C5 to Validation List. Hy thc hin ng 6


bc di y:

Chn C5->Chn menu Data->Chn Data Validation->Allow chn List>Source chn =MAHH->Hon thnh nht [Ok].
Yu cu vi khu vc cha d liu ca bo co

+ Dng tiu nn nhp tay th hin ni dung c th.


+ T dng th 2 ca khu vc ny (theo v d ny trong bng tnh Excel t dng 8)
s t cng thc BS_SQL. Khu vc ny phi tha ra t nht 2 dng trng, nu c
nh dng dng d liu th nn 3 dng trng.
+ Dng cui cng ca vng d liu, sau 2 hoc 3 dng trng t cng thc Excel
tnh tng cc ct d liu. Theo v d trn l dng 10.
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

63/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Bc 2: Lp cng thc vi hm BS_SQL ly d liu vo bo co


Cu trc ca hm BS_SQL(SQL [,OPTIONS]). Nu chui khai bo SQL m ngn th ta
c th t trc tip trong hm. Nu n di th nn n nm mt khc v d B6.
Ti cng thc BS_SQL th t cng thc v s dng B6 lm tham s. =BS_SQL(B6).
Lm nh vy Excel s khng bo li khi chui tham s SQL qu di (>128 k t).
+ t cng thc c chui khai bo SQL ti B6
="SELECT SO_CT, NGAY_CT, SLG, DON_GIA, THANH_TIEN
FROM KHO
WHERE LOAI_PHIEU = RANGE(C4) AND MA_VLSPHH =RANGE(C5)"

Dng hm RANGE(C4), RANGE(C5) khi thay i gi tr ti C4, C5 th cng thc


c cp nht li.

+ t cng thc BS_SQL ti B8


=bs_sql(B6,"HR=NO;INSERT=YES")
Gi tr chui SQL B6 c a vo tham s u tin hm BS_SQL
HR=NO bng kt qu khng c dng tiu . V dng tiu ta t nhp tay.
INSERT=YES cc dng kt qu t ng co gin khi thay i loi phiu, m hng
cc C4, C5.

Sau khi nhp xong cng thc nhn ENTER, d liu lp tc tr v v in vo c


bng bo co. Dng cui t tnh tng cc ct SQL, THANH_TIEN.
Nu mun sa cng thc phi m bo cc vic: Chn ng mt trong vng cng
-> sa cng thc-> Nhn CTRL+SHIFT+ENTER chy v y l cng thc mng.
Nu khng mun thc hin nhn phm ESC hy vic sa.

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

64/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Video hng dn lm bo co nhanh vi SQL Builder trong Add-in A-Tools


http://www.youtube.com/watch?v=NWZM6kJAPZE

Cc hm CSDL: Tm kim v thng k c nhiu iu kin


Add-in A-Tools cung cp b hm tm kim v thng k c nhiu iu kin,
ngun d liu c th ly t trong chnh tp tin Excel hoc t cc ngun CSDL bn
ngoi nh hm BS_SQL. Cc hm l: BS_DVLOOKUP, BS_DSUM, BS_DCOUNT,
BS_DMIN, BS_DMAX, BS_DAVG, BS_DVAR.
hc tt cc hm ny bn hy m tp tin sau hc v lm theo
C:\A-Tools\HELP & DEMOS\Bai 3 Hm CSDL (Database Functions).xls
Hm BS_DVLOOKUP: Tm kim nhiu iu kin

Cu trc: BS_DLOOKUP(expr, table_source, search_condition[, options])

Hm BS_DLOOKUP lm mt hm mng. Hm tm kim theo nhiu iu kin


theo search_condition, d liu c tm c th trong mt hay nhiu bng. Gi tr tr
v c th 1 hoc c mng gi tr.
expr: Biu thc tr v (thng l mt ct/field trong table_source) nu vic
tm kim tho mn iu kin search_condition
table_source: Mt hay nhiu bng d liu ngun (c quan h) cha d liu
cn tm v tr v, n c th l mt Name tr ti mt vng d liu. Nu d liu cn
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

65/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

tm hay tr v c t nhiu bng th table_source l ngun d liu c kt hp t


nhiu table, cch kt hp chng ging nh trong c c php sau t kho FROM
ca ngn ng T-SQL.
search_condition: iu kin tm kim, cch vit iu kin ging nh vi c
php SQL sau t kho WHERE ca ngn ng T-SQL. Nu table_source c kt hp
t nhiu bng/table th search_condition phi ch ra biu thc quan h.
options: Tu chn cho hm, cch dng tham s ny ging nh trong hm
BS_SQL, cc nhm hm ny (BS_D*) th ch s dng cc khai bo tham s sau:
+ DBKEY = M DBKEY
M DB KEY c to kt ni vi mt CSDL bn ngoi. Xem hng
dn to DBKEY.
+ HAVING = search_condition
search_condition l iu kin c s dng cc hm thng k nh SUM,
COUNT, AVG, MIN, MAX
+ GROUPBY = group_by_expression
group_by_expression l danh sch cc ct (field) cn nhm d liu.
+ ORDERBY = order_expression
order_expression l danh sch cc ct (field) cn c sp xp. Cn
dng vi hm BS_SQL, BS_TABLE, BS_DVLOOKUP
+ SERVERSOURCE = YES/NO
Nu SERVERSOURCE = YES th d liu c ly t my ch, NO hoc khng
khai bo th d liu ly ti my ang chy.
Cch khai bo HAVING, GROUPBY, ORDERBY tng t nh trong cu trc cu lnh
SQL sau cc t kho HAVING, GROUP BY, ORDER BY

Cc tham s trong ngoc vung ([ ]) c th b qua.

Cc hm BS_DSUM, BS_DCOUNT, BS_DMIN, BS_DMAX, BS_DAVG cng c cu trc


v cch dng tng t hm BS_DLOOKUP

V d 49: Tm mt m hng m trong bng KHO c s lng nhp kho l 10.


Hng gii quyt: ch cn tm trn mt s KHO v ti y c cc thng tin tm v
d liu tr v.
Cng thc:
=BS_DLOOKUP("TOP 1 MA_VLSPHH","KHO","LOAI_PHIEU = 'N' AND SLG = 10")
TOP 1: ly mt gi tr u tin

V d 50: Ly ra cc m hng c s lng nhp > 5


=BS_DLOOKUP("MA_VLSPHH","KHO","LOAI_PHIEU = 'N' AND SLG > 5")
Kt qu tr v mt mng gi tr.

Mun sa li cng thc nhn CTRL+SHIFT+ENTER

Vn yu cu v d trn by gi cn ly ra tn hng. Cng thc l


=BS_DLOOKUP("DMVLSPHH.TEN",
"KHO INNER JOIN DMVLSPHH ON KHO.MA_VLSPHH = DMVLSPHH.MA_VLSPHH",
"LOAI_PHIEU = 'N' AND SLG >5")
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

66/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Ngun d liu table_source l hai bng KHO v DMVLSPHH c quan h KHO INNER
JOIN DMVLSPHH ON KHO.MA_VLSPHH = DMVLSPHH.MA_VLSPHH

Vn theo v d trn nhng d liu tm v ly tp tin Access Examble.mdb v


kt ni ti DBKEY l MDB. Cng thc nh sau.
=BS_DLOOKUP("DMVLSPHH.TEN",
"KHO INNER JOIN DMVLSPHH ON KHO.MA_VLSPHH = DMVLSPHH.MA_VLSPHH",
"LOAI_PHIEU = 'N' AND SLG >5",
DBKEY=MDB)
Hm BS_DSUM: Tnh tng vi nhiu iu kin

Cu trc: BS_DSUM(expr, table_source , [search_condition] , [options])


Hm BS_DSUM tnh tng theo nhiu iu kin, d liu lm iu kin c th t
mt hoc nhiu bngtrong CSDL. Cch thc dng ging nh hm BS_DVLOOKUP.
V d 51: Tnh tng s lng nhp kho m m hng l HH001
Cng thc:
=BS_DSUM("SLG","KHO","LOAI_PHIEU='N' AND MA_VLSPHH='HH001'")
Hm BS_DCOUNT: m gi tr vi nhiu iu kin

Hm ny c cu trc v cch dng tng t hm BS_DSUM

Hm BS_DMIN: Tnh gi tr nh nht vi nhiu iu kin

Hm ny c cu trc v cch dng tng t hm BS_DSUM

Hm BS_DMAX: Tnh gi tr ln nht vi nhiu iu kin

Hm ny c cu trc v cch dng tng t hm BS_DSUM

Hm BS_DAVG: Tnh trung bnh vi nhiu iu kin

Hm ny c cu trc v cch dng tng t hm BS_DSUM

Hm BS_DVAR: Tnh lch chun vi nhiu iu kin

Hm ny c cu trc v cch dng tng t hm BS_DSUM

Hm BS_DFUNC: Tnh nhiu iu kin theo tham s l tn hm

Cu trc: BS_DFUNC(FuncName, expr, table_source, [search_condition],


[options])
FuncName: L mt chui ch ra tn hm dng tnh, nhn mt trong cc
tn hm SUM, COUNT, AVG, MIN, MAX, VAR
V d 52: Tnh tng s lng nhp kho m m hng l HH001
Cng thc:

=BS_DSUM("SLG","KHO","LOAI_PHIEU='N' AND MA_VLSPHH='HH001'")

Hoc:
=BS_DFUNC(SUM,"SLG","KHO" , "LOAI_PHIEU='N' AND MA_VLSPHH='HH001' ")
Hm BS_TABLE: Trch lc d liu - Cch lm khc ca BS_SQL

Cu trc: BS_TABLE(select_list, table_source , [search_condition] , [options])


Hm BS_TABLE l hm mng, ngha tng t nh hm BS_SQL, cc tham
s ca hm BS_TABLE tng ng vi cc thnh phn ca khai bo SQL nh:
SELECT, FROM, WHERE,...
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

67/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Cc tham s trong ngoc vung ([ ]) c th b qua.


select_list: l danh sch cc ct c tr v trong bng kt qu.
select_list chnh l khai bo sau t kho SELECT ca cu lnh SQL.
table_source: Bng d liu ngun cha cc thng tin cn trch lc, n
c th l mt Name tr ti mt vng d liu. Tham s ny chnh l khai bo sau t
kho FROM ca cu lnh SQL.
search_condition: iu kin trch lc. Tham s ny chnh l khai bo
sau t kho WHERE ca cu lnh SQL.
options: Cch dng tng t nh hm BS_SQL.
S dng hm BS_SQL hay hm BS_TABLE u cho ra mt kt qu. Hm BS_TABLE
ph hp cho bi ton cng nh cch dng n gin.

V d 53: Lp mt danh sch gm cc ct: MA_VLSPHH, SLG t s KHO m loi


phiu l loi nhp (LOAI_PHIEU='N').
Cc cch lm vi BS_SQL:
=BS_SQL("SELECT MA_VLSPHH, SLG FROM KHO WHERE LOAI_PHIEU = 'N' ")

Cc cch lm vi BS_TABLE:
= BS_TABLE("MA_VLSPHH, SLG" , "KHO" , "LOAI_PHIEU = 'N' ")

V d 54: Lp mt danh sch tng hp SLG nhp gm cc ct: MA_VLSPHH,


SLG t s KHO m loi phiu l loi nhp (LOAI_PHIEU='N'), sp xp ct SLG tng
dn.
Cc cch lm vi BS_SQL:
=BS_SQL("SELECT MA_VLSPHH, SUM(SLG)
FROM KHO
WHERE LOAI_PHIEU = 'N'
GROUP BY MA_VLSPHH
ORDER BY 2 ")

Cc cch lm vi BS_TABLE:
=BS_TABLE("MA_VLSPHH, SUM(SLG)" ,
"KHO" ,
"LOAI_PHIEU = 'N' ",
"GROUPBY = MA_VLSPHH; ORDERBY = 2 ")
GROUPBY , ORDERBY l vit lin (khng c du cch), cch vit khng ging t
kha trong select GROUP BY, ORDER BY (c du cch).
Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

68/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

Add-in A-Tools

Trch lc d liu v lm bo co ng trong Microsoft Excel

Kt qu l:

Chc nng trch lc d liu v lm bo co ng trong Excel ca Add-in ATools rt mnh. N thc hin trch lc vi tc nhanh, chnh xc, mc ni d liu
gia cc bng vi nhau, kt ni nhiu CSDL, cho php lin kt t my tnh ny sang
my tnh khc (m hnh client-server). Bn hc ht tt c cc hm trn s lm ch
c trong cng vic x l d liu Excel ca mnh. Trong b ci Add-in A-Tools cung
cp nhiu tp tin Excel c cc v d v lp bn hy m v lm theo s r hn.
Th mc lu d liu v d: C:\A-Tools\HELP & DEMOS\
Ton b d liu v cc v d trong ti liu ny s dng bn tp tin di y:
Bai 1 - Huong dan su dung ham BS_SQL
Bai 2 - Cac ham ho tro nhom ham Database Functions.xls
Bai 3 Hm CSDL (Database Functions).xls
Bai 4 - Huong dan tao bao cao.xls
Tp SoKeToanSQL.xls cha h thng cc s k ton c thit k bng hm
BS_SQL ca A-Tools chy rt nhanh v linh hot y l v d tt bn hc v lm
cc s sch cho mnh mt cch chuyn nghip.
Thng tin chi tit mi nht v Add-in A-Tools mi cc bn xem ti y:
http://www.bluesofts.net/Products/AddIns/A-Tools/Index.htm

Xem video hng dn Add-in A-Tools


http://www.bluesofts.net/Products/AddIns/A-Tools/Help/DEMO/Index.htm
Hng dn kt ni d liu Excel qua mng:
http://www.bluesofts.net/Products/AddIns/A-Tools/Help/DEMO/ATools_Network/A-Tools_Network.html

X l li khi Add-in A-Tools khng khi ng cng Microsoft


Excel
http://www.bluesofts.net/Baiviet/Office/ExcelEnabledAddin/Index.html

Cng ty C phn BLUESOFTS| Nguyn Duy Tun Tel: 04.379.17200 Mobil: 0904210337

Website: www.bluesofts.net

69/69
Email: sales@bluesofts.net or tuanktcdcn@yahoo.com

You might also like