Add-in A- Tools lƠ công c m nh cho vi c trích l c d li u vƠ lƠm báo cáo động trong Excel Tr ớc khi thực hiện các công th c trong tài liệu này chúng ta cần phải cƠi đặt Add-in A-Tools..
Trang 1CHUYÊN Đ 9: KỸ THU T NÂNG CAO V TRệCH L C D LI U NHI U
ĐI U KI N B NG ADD-IN A-TOOLS (T T H N AUTO FILTER C A EXCEL)
Tổng quan v trích l c d li u trong Excel vƠ Add-in A-Tools
L c d li u trong Excel
Để thực hiện các việc trích lọc dữ liệu ta có thể dùng các ch c năng sẵn có nh : Auto Filter,
Advanced Filter
Công việc Filter này nhằm giúp ng i sử dụng nắm bắt thông tin nhanh để có c s đ i chi u
và so sánh với các dữ liệu khác
vùng này khá phong phú Dữ liệu trích lọc đ c có thể đ a sang m t địa chỉ khác
Điểm chung giữa Auto Filter và Advanced Filter:
+ Dữ liệu lọc ra vẫn mang nguyên cả cấu trúc bảng, t c bảng g c có 10 c t thì bảng k t quả
lọc đ c cũng lƠ 10 c t
+ Dữ liệu lọc ra chỉ có thể đóng vai trò trung gian lƠm c s so sánh, đ i chi u với dữ liệu
khác, ng i dùng khó có thể t o ra m t báo cáo t Auto Filter hoặc Advanced Filter Tr
tr ng h p Filter đ c dùng trên m t báo cáo đƣ có vƠ có c t công th c làm tiêu th c lọc để
ẩn các dòng dữ liệu không cần thi t
Trang 2Add-in A- Tools lƠ công c m nh cho vi c trích l c d li u vƠ lƠm báo cáo
động trong Excel
Tr ớc khi thực hiện các công th c trong tài liệu này chúng ta cần phải cƠi đặt Add-in
A-Tools
DOWNLOAD vƠ cƠi đặt Add-in A-Tools mi n phí
T Office 2010 tr l i đơy, Microsoft có hai phiên bản 32 và 64-bit N u máy cài Office 2010
hoặc cao h n, b n cần kiểm tra Excel c a máy b n đang ch y theo phiên bản nƠo theo h ớng
Tr ớc khi ch y cƠi đặt hƣy thoát tất cả Excel đang m
Để hiểu qua v trích lọc dữ liệu trong Add-in A-Tools chúng ta hãy t o m t công th c đ n
B2 Sheet “KHO” ch a các phi u nhập, phi u xuất, vùng A3:K68 đƣ đ c đặt tên lƠ “KHO”
M ở sheet ắThực hƠnhẰ để nhập công th c
L ọc ra các dòng dữ liệu với các cột thông tin MA_VLSPHH, SLG, DON_GIA, THANH_TIEN
trong vùng d ữ liệu “KHO”, điều kiện lọc là mã hàng là HH001 (WHERE MA_VLSPHH=
„HH001‟ )
Công th ức như sau:
=bs_sql("SELECT MA_VLSPHH, SLG, DON_GIA, THANH_TIEN FROM KHO WHERE
MA_VLSPHH='HH001' ")
Sau khi nhập xong b n hãy nhấn phím ENTER k t quả sẽ nh hình d ới đơy:
Trang 3Lưu Ủ:
Khi sửa công th c phải đảm bảo chỉ có m t ô đ c chọn
N u sửa l i công th c, khi k t thúc phải nhấn CTRL+SHIFT+ENTER vì BS_SQL lƠ công
th c mảng
N u không mu n thực hiện nhấn phím ESC để h y không sửa
Mu n xóa thì chọn cả bảng rồi xóa
Với công th c trên đi u kiện lọc nằm sau t khóa WHERE, n u thay HH001 thành HH002
thì k t quả lọc ra là c a mã hàng HH002 Phần sau tài liệu này sẽ mô tả chi ti t cách lập công
th c trên.
+ Add-in A-Tools cung cấp hàm BS_SQL sử dụng ngôn ngữ T-SQL (SELECT *
FROM…WHERE…) để truy vấn dữ liệu Ngôn ngữ T-SQL ngƠy nay đ c phổ bi n cho các
phần m m quản trị CSDL, nó cho phép trích lọc dữ liệu với kh i l ng lớn mà vẫn đảm bảo
t c đ nhanh Các đi u kiện lọc đ c thực hiện rất linh ho t Ng i sử dụng có thể học nó
m t cách dễ dàng
+ Báo cáo t o ra th ng là sự ghép n i dữ liệu t m t hay nhi u bảng dữ liệu khác Ví dụ báo
cáo nhập xuất tồn đ c lấy ra t hai sổ: sổ kho (n i ghi nhận các phi u nhập phi u xuất, mã
hàng mã nhà cung cấp, mƣ khách hƠng,…) vƠ sổ danh mục hàng hóa Ngôn ngữ T-SQL cho
phép k t n i các bảng dữ liệu l i với nhau để chọn ra những tr ng thông tin nào tùy ý
T i sao lƠm báo cáo trong Excel b ng Add-in A-Tools có thể ch y nhanh vƠ
động h n bất kỳ cách l p công thức Excel thông thường nƠo?
Trang 4Cần phải sử dụng các hƠm IF, Vlookup, SumIf, SumProduct,OffSet, Index,… Công
th c đ c lập ra để lấy dữ liệu theo đi u kiện c a báo cáo Trong báo cáo công th c đ c
copy th a ra nhi u dòng, cho nhi u mƣ đ i t ng để bao quát các tr ng h p Khi cần thu gọn
l i dùng Auto Filter để lọc ra cái cần xem vƠ in Chính ph ng pháp nƠy có nh c điểm rất
lớn là T O CÔNG TH C TH A rất nhi u, nó ép cho Excel phải tính toán những cái lẽ ra
không phải tính Ví dụ trong danh mục hƠng có 100 mƣ hƠng, nh ng trong sổ kho nhập, xuất
mới chỉ 10 mƣ nh ng công th c vẫn phải copy cho cả 100 mã – th a Hay theo nh hình c a
“Sổ k toán chi ti t” bên trên N u s NKC (dữ liệu nguồn) mà có 20.000 dòng thì trong sổ
này cũng phải lập công th c cho 20.000 dòng, trong khi với dữ liệu cần hiển thị cho TK 131,
mƣ khách hƠng lƠ “KH002 thì s dòng có thể chỉ là 20 dòng Vậy rõ rƠng chúng ta đƣ lƠm cho
Excel phải luôn tính th a những đ i t ng không cần thi t
Vấn đ th hai là vì đặc tính công th c Excel, khi dữ liệu nguồn thay đổi thì k t quả các công
th c liên k t đ n nó cũng thay đổi Hiểu m t cách khác là toàn b các công th c đang tham
chi u tới vùng dữ liệu thay đổi bị tính toán l i – Đơy chính lƠ lý do bảng tính ch y rất chậm
khi ng i dùng nhập dữ liệu trong các vùng có công th c tham chi u đ n
Trang 5Việc trích lọc dữ liệu chỉ cần m t hàm ch đ o là BS_SQL, hàm này sẽ trả v cả bảng
dữ liệu cần cho báo cáo sau khi thực thi câu lệch SQL Hàm BS_SQL chỉ tính toán, lọc trả v
dữ liệu theo đúng đi u kiện lọc c a báo cáo Không tính th a dữ liệu nh ph ng pháp lập
công th c Excel bên trên Các dòng trong báo cáo tự co giƣn để phù h p khi báo cáo tăng hay
giảm dòng dữ liệu (nh khai báo INSERT=YES trong tham s OPTIONS c a hàm BS_SQL)
Các dữ liệu d ới chân báo cáo – Footer đ c đẩy theo linh ho t Báo cáo chỉ cập nhật l i khi
thực hiện lệnh cập nhật hoặc khi m tập tin Việc lấy ra danh sách mã duy nhất: mã hàng, mã
nhà cung cấp, khách hƠng,… trong sổ phát sinh đ c thực hiện dễ dàng, k t quả trích lọc
đ c đặt NAME tự đ ng theo công th c BS_SQL Các NAME nƠy đ c đ a vƠo lƠm
Validation hay các công th c khác c a Excel sẽ t o cho b n m t báo cáo chuyên nghiệp và
linh đ ng Add-in A-Tools đ c lập trình trong Delphi với các thuật toán t i u ti t kiệm b
nhớ, đ c biên dịch ra mã máy nên công th c ch y rất nhanh
Ph ng pháp lƠm báo cáo c a Excel lƠ phải lƠm NHI U công th c g p l i rồi copy
Ph ng th c lƠm báo c a Add-in A-Tools là chỉ cần lƠm M T công th c có hƠm BS_SQL t o
ra m t báo cáo Vì m t vƠi lý do khác nữa mƠ báo cáo t o b i hƠm BS_SQL trong Add-in
A-Tools lƠm dễ, ch y nhanh vƠ linh ho t h n cách lƠm Excel thông th ng
Trang 6 Chuẩn hóa bảng d li u nguồn trước khi s d ng hƠm BS_SQL
+ Bảng d li u/Table từ dòng tiêu đ đ n các dòng d li u không được có ô
nƠo ở tr ng thái Merge
Là m t bảng dữ liệu đ c định nghĩa b i c t và dòng, giao c a c t và dòng là ô Việc
Merge nhi u ô thành m t ô sẽ làm việc truy vấn dữ liệu gặp l i
Trong bảng ví dụ d ới đơy ô B10 bị l i vì có tr ng thái Merge
+ Tiêu đ c a bảng d li u nên được đặt tên ng n g n, vi t li n nhau, chỉ
nên dùng các kỦ tự A-Z, _ , 0-9 S luôn dứng sau ch
Với bảng dữ liệu trên, công th c phải lƠm nh sau
=bs_sql("select [S CT], [MÃ VLSPHH], [S L NG],[Đ N GIÁ],[THÀNH TI N]
from [KHO$A3:K10]")
Tiêu đ các c t có dấu dẫn đ n khi làm công th c dễ bị sai do nhầm lẫn, lập công th c
mất th i gian vì việc so n thảo nhi u
Tiêu đ các c t c a bảng dữ liệu nên đặt tên l i nh sau
Trang 7+ Đ nh d ng kiểu d li u trong các cột c a bảng trước khi nh p d li u
Trong bảng tính Excel, các ô ngầm định đặt kiểu General, kiểu dữ liệu đ c xác định
khi dữ liệu đ c nhập vào Trong m t hoàn cảnh nƠo đó, dữ liệu nhập vƠo khó để cho
A-Tools hay đ i t ng truy vấn dữ liệu ADO xác định rõ kiểu dữ liệu Nh là s CMND, Mã
hƠng,… Giả xử ta nhập giá trị là 1111 Excel l i hiểu là kiểu s (Number), mục đích c a ng i
sử dụng phải là kiểu TEXT và trong công th c dùng phép so sánh các giá trị TEXT dẫn đ n
sai Ví dụ MA_VLSPHH = „1111‟ sẽ sai vì Excel đang coi MA_VLSPHH là s - Number
Vậy cần phải định d ng c t MA_VLSPHH v d ng TEXT tr ớc sau đó mới nhập 1111 lúc
này công th c so sánh MA_VLSPHH = „1111‟ lƠ đúng vì c t MA_VLSPHH đ c Excel hiểu
là TEXT N ếu giá trị 1111 nhập trước sau đó mới định dạng thì không có ý nghĩa Vẫn cần
ph ải nhập lại sau khi định dạng Nếu không muốn nhập lại, bạn chạy chức năng “Số thành
văn bản” trong menu A-Tools
Hình d ới đơy lƠ g i ý v định d ng các c t trong bảng tr ớc khi đ a vƠo nhập dữ liệu
Trang 8Trong bảng dữ liệu nguồn nên có dòng đầu tiên để nhập giá trị giả định mà các giá trị
này không ảnh h ng tới k t quả c a báo cáo
Các c t là d ng văn bản (TEXT) nhập giá trị ằ (nháy đ n) Các c t có các giá trị ngày
tháng, s l ng, s ti n, phần trăm, tỷ lệ (s ) thì nhập s 0
Việc nhập giá trị giả định nh trên giúp cho A-Tools hay đ i t ng ADO hiểu đ c kiểu
dữ liệu c a các c t dữ liệu trong bảng đ c rõ rƠng h n
+ Đặt tên vùng d li u trong bảng tính Excel (worksheet)
Trong bảng tính có nhi u vùng dữ liệu, chỉ m t khu vực nƠo đó đảm bảo đó lƠ bảng dữ
liệu – Table Vậy để A-Tools hiểu khu vực đó lƠ bảng thì ng i dùng cần đặt tên – NAME
cho vùng dữ liệu này là bảng
Ví dụ lọc lấy các dòng dữ liệu trong sheet “KHO”, vùng dữ liệu A3:K68
Đặt công th c:
=BS_SQL("SELECT * FROM [KHO$A3:K68]")
N u vùng dữ liệu đ c đặt tên là KHO (=KHO!A3:K68) thì công th c nh sau
=BS_SQL("SELECT * FROM KHO")
Việc đặt tên - NAME đem l i hiệu quả sử dụng rất cao trong các công th c Excel đồng
th i đảm bảo cho A-Tools bi t đó lƠ khu vực bảng Với A-Tools, tên c a m t vùng KHO
đ c coi nh tên c a m t bảng (table) trong CSDL Excel
Cách t o tên cho vùng d li u
Ng i dùng làm theo trình tự sau:
+ 1: Chọn vùng dữ liệu Vùng dữ liệu phải t dòng tiêu đ c a bảng tới dòng cu i cùng Ví dụ
trong sheet “KHO”, bôi đen t A3:K68
+ 2: Chọn menu “Formula” (Với Excel 2007 hoặc cao h n)
+ 3: Chọn menu “Insert->Name” (Với Excel 2003 hoặc thấp h n)
+ 4: Chọn “Define Name” Đặt tên t i mục “Name:”
+ 5: Chọn [Ok] để đồng ý
b ớc 2,3 phím tắt là CTRL+F3
Trang 9Ta đ c mƠn hình đặt tên - NAME d ới đơy
+ Name: đặt tên vùng KHO
+ Refers to: địa chỉ tham chi u Excel tự đi n t vùng ta chọn b ớc 1
Sau khi nhập tên xong, nhấn nút “Ok” để hoàn tất N u máy báo tên đƣ tồn t i thì vƠo “Name
Manager” chọn Edit để sửa l i
Lần đầu đặt tên các bảng dữ liệu b n nên l u l i vƠ đóng tập tin nƠy sau đó m l i thì Excel
hiểu cấu trúc các vùng dữ liệu đ c đặt tên theo d ng bảng/table
T o công thức BS_SQL b ng ắSQL BuilderẰ
T menu “A-Tools” chọn “SQL Builder”
Với Excel 2003 vƠo menu “A-Tools”->“Truy vấn dữ liệu” chọn “SQL Builder”
Trang 10 Để liên k t giữa bảng KHO vƠ DMHH, nhấp chu t vƠo MA_VLSPHH bên KHO kéo sang
MA_VLSPHH c a bảng DMHH rồi nhả chu t
Các khu vực đánh s đ c giải thích d ới đơy:
(1) DBKEY – Khóa k t n i: chọn CSDL hoặc DBKEY (mƣ k t n i với CSDL bên ngoƠi) Để k t n i với
CSDL bên ngoƠi, ng i dùng phải t o DBKEY tr ớc đó, cách t o sẽ h ớng dẫn trang sau Ngầm
định A-Tools k t n i tới tập tin Excel đang m hiện t i Ví dụ n u b n đang m file “Example.xls” thì
mục DBKEY sẽ hiện “Example.xls” có nghĩa lƠ A-Tools đang k t n i tới tập tin“Example.xls”
(2) Danh sách các tên vùng hoặc tên bảng (table, query) dữ liệu trong CSDL chọn (1) Ng i dùng hƣy
nhấp đúp chu t hoặc kéo tên vùng dữ liệu t (2) sang (3) để lƠm nguồn dữ liệu
(3) N i các khóa quan hệ giữa các bảng (table) n u có (trong hình vẽ lƠ “MA_VLSPHH”) Chọn các
tr ng dữ liệu để hiển thị vƠ lƠm đi u kiện
(4) + Output: n u chọn, tr ng dữ liệu đó sẽ hiển thị
+ Expression: tên tr ng dữ liệu hoặc biểu th c tính
+ Aggregate: chọn tên hàm th ng kê: Sum; Count; Min; Max;…
+ Alias: đặt tên cho tr ng hoặc biểu th c “Expression”
+ Sort Type: chọn kiểu sắp x p tăng (Ascending) hay giảm (Descending) dần
Trang 11+ Sort Order: đặt u tiên tr ng sắp x p
+ Grouping: chọn các tr ng dữ liệu đ c nhóm theo Mục nƠy đ c sử dụng khi ng i dùng
chỉ định hàm th ng kê “Aggregate” Tất cả các tr ng n u không có chỉ định hàm th ng kê
thì ần đ c chọn “Grouping”
Criteria: mục đặt đi u kiện lọc Ng i dùng có thể dùng chu t để chọn dữ liệu trong m t ô
c a bảng tính lƠm đi u kiện đ ng, thực chất là sử dụng hàm RANGE( )
(5) Sau khi thực hiện 4 mục trên, A-Tools sẽ tự đ ng t o cơu lệnh T-SQL cho hàm BS_SQL
Sau khi thi t lập xong, ng i dùng chọn nút “Ti p tục” sẽ xuất hiện mƠn hình d ới đơy
+ Tên bảng k t quả: A-Tools sẽ tự đ ng t o tên cho vùng k t quả B n nên đặt tên trong
tr ng h p bảng dữ liệu k t quả trả v l i đ c dùng cho m t công th c khác
+ Tự đ ng t o tên các c t: A-Tools tự đặt tên các vùng theo m i c t trong vùng k t quả
Những tên đ c t o sẽ đ c sử dụng trong các công th c c a Excel
+ Chèn dòng: n u đ c chọn, bảng k t quả sẽ chèn các dòng dữ liệu sau con tr N u không,
dữ liệu dẽ bị ghi đè lên Khi làm báo cáo b n nên chọn mục này
+ Địa chỉ đặt tham s SQL: ô ch a câu lệnh SQL Cần thi t sử dụng khi chu i lệnh SQL dài
(s ký tự > 128 ký tự)
Trang 12+ Địa chỉ ô/vùng đặt công th c: ô đầu tiên trong bảng tính ch a giá trị c a bảng k t quả
Sau khi hoàn tất, chọn nút “Thực hiện” để A-Tools ch y hàm BS_SQL trong bảng tính
Công th c có hàm BS_SQL đ c t o ra b i “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);")
Nh vậy, với công cụ SQL Builder b n có thể không cần phải hiểu rõ ngôn ngữ T-SQL
mới lọc đ c dữ liệu mà chỉ bằng vài cú nhấp chu t Việc công cụ tự sinh mã T-SQL b n
hoàn toàn tự học đ c ngôn ngữ này m c c bản
B n xem video h ớng dẫn t i địa chỉ sau:
http://bluesofts.net/giai-phap-phan-mem/a-tools-truy-van-loc-soan-thao-va-quan-tri-du-lieu-excel-qua-mang/117-lam-bao-cao-tren-excel-de-dang-bang-a-tools-.html
Hướng d n s d ng hƠm BS_SQL
Hàm BS_SQL trong A-Tools là m t hƠm đa năng vƠ rất đặc biệt K t quả trả v c a hàm
là m t bảng dữ liệu đ c lọc theo các đi u kiện ph c t p, dữ liệu đ c móc n i với nhau mà
nguồn dữ liệu có thể t nhi u lo i CSDL khác nh đƣ trình bƠy phần trên Chỉ cần m t hàm
BS_SQL, ng i dùng có thể t o ra các lo i báo cáo đ ng trong Excel với t c đ nhanh dù dữ
liệu nhi u, chính xác cao
Tr ớc khi học tuần tự cách sử dụng hàm BS_SQL b n hãy làm m t ví dụ sau để hiểu
T ập tin “Example.xls” sẽ luôn được mở và làm ví dụ, thực hành các công thức trong toàn bộ
tài li ệu này
Sheet “KHO” ch a các phi u nhập, phi u xuất, vùng A3:K68 đƣ đ c đặt tên lƠ “KHO”
Trang 13(Vùng A3:K68 đ c đặt tên (Define Name) là KHO)
Cấu trúc hàm BS_SQL
+ SQL: Là m t chu i khai báo câu lệnh truy vấn dữ liệu theo ngôn ngữ T-SQL T-SQL
là m t ngôn ngữ chuẩn truy vấn CSDL mà các hệ quản trị CSDL th ng dùng nh : MS
Access, Foxpro, dBASE, SQLServer, Oracle, MySQL, Excel,…
Câu lệnh SQL trong hƠm BS_SQL đ c ph i h p thêm các hàm A-Tools t o thêm:
RECNO, CELL, RANGE, DATA, GetOnce, FORMULA, FieldIf, VTC,…Nh ph i h p các
hàm này trong khai báo SQL, hàm BS_SQL có thể trả v k t quả rất linh đ ng, đáp ng các
yêu cầu ph c t o trong làm báo cáo chi ti t, báo cáo tổng h p trong Excel
+ OPTIONS: Là tham s tuỳ chọn (có thể không có), tham s này là m t chu i, cho
phép khai báo thêm các tham s cho hàm, các tham s đ c ngăn cách nhau b i dấu chấm
phảy (;) N u không có tham s này, hàm BS_SQL sẽ truy vấn d liệu trong chính tập tin
Excel đang m hiện t i và trả v bảng k t quả lọc
Các tham s sử dụng trong OPTIONS bao gồm: DBKEY, HR, NAME, AUTONAMES,
INSERT, SERVERSOURCE
Có thể lập trình các macro trong VBA để ch y trong các sự kiện c a hàm BS_SQL, khai báo
ch y các macro thực hiện trong tham s OPTIONS Các tham s gồm:
OnBeforeUpdate, OnAfterUpdate, OnDblClick, OnSelectionChange, OnGetValue
Cách sử dụng các tham s đ c trình bày chi ti t phần sau
Trang 14Phư ng pháp trích l c d li u b ng hƠm BS_SQL
Tìm hiểu ngôn 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 [
Ví dụ lấy ra các c t dữ liệu MA_VLSPHH, SLG, DON_GIA, THANH_TIEN
Ví dụ lấy ra các c t dữ liệu MA_VLSPHH, SLG, DON_GIA, THANH_TIEN nh ng các
c t lấy ra đ c đặt l i tên
SELECT MA_VLSPHH AS [Mã Hàng], SLG AS [S L ng], DON_GIA AS[Đ n
Giá], THANH_TIEN AS [Thành Ti n]
-> Để đổi tên c t, đặt AS [Tên c t] ngay sau c t mu n đổi
-> N u lấy tất cả các c t trong "table_source" dùng ký tự *
table_source: là m t bảng hay danh sách bảng dữ liệu có quan hệ với nhau N u là danh
sách thì các bảng cách nhau b i dấu phảy (,) hoặc k t n i với nhau b i t khóa JOIN
M tập tin “Example.xls” vƠo sheet “Thực hƠnh” lƠm các ví dụ sau:
Ví ơ 1: Ch ố (SELECT) ỗ ỗ Ơ ƠứƠ Ơ ỗ ỗ (FROM) sổ KHO
=BS_SQL("SELECT * FROM KHO")
Ví ơ 2: Ch ố 10 ơòốg đầỘ Ơ a ỗ ỗ Ơ ƠứƠ Ơ ỗ ỗ sổ KHO
Trang 15=BS_SQL("SELECTTOP 10 * FROM KHO")
Ví ơ 3: Ch ố ơaốh sứƠh s Ơh ốg ỗ ơỘỜ ốh ỗ (DISTINCT) ỗ sổ KHO
=BS_SQL("SELECTDISTINCT SO_CT FROM KHO")
Ví ơ 4: l Ờ ra ƠứƠ Ơ ỗ ơ lỌ Ộ MA_VLSPHH, SLG, DON_GIA, THANH_TIEN ỗroốg b ốg
KHO
=BS_SQL("SELECT MA_VLSPHH, SLG, DON_GIA, THANH_TIEN FROM KHO")
Ví ơ 5: l Ờ ra ƠứƠ Ơ ỗ ơ lỌ Ộ MA_VLSPHH, SLG, DON_GIA, THANH_TIEN ỗroốg b ốg
KHO
=BS_SQL("SELECT MA_VLSPHH AS [Mã Hàng], SLG AS [S L ng], DON_GIA AS
[Đ n Giá], THANH_TIEN AS [Thành Ti n]
FROM KHO")
Ví ơ 6: Có th ỗh Ơ ỗhỌ ƠứƠ phỰp ỗoứố, Ố ỗhêỐ Ơ ỗ ỗíốh ỗoứố saỘ ỗ khóa SELECT
=bs_sql("SELECT 1+1 AS BT1, MA_VLSPHH, SLG, DON_GIA, SLG*DON_GIA AS
[Thành Ti n], '' AS [Ghi chú] FROM KHO")
Trang 161 + 1 AS BT1 C t BT1 đ c t o ra, k t quả c a nó là phép c ng 1 + 1 = 2
'' AS [Ghi chú] C t “Ghi chú” đ c t o ra, k t quả c a nó là giá trị chu i tr ng Giá trị
chu i trong SQL là nằm trong hai dấu nháy đ n ằChu i giá trịằ
Các phép toán sử dụng v c bản gi ng nh các phép toán b n lập trong công th c Excel
S d ng từ khóa WHERE
WHERE search_condition
search_condition: lƠ đi u kiện – biểu th c logic/so sánh Các bản ghi đ c lọc ra n u biểu
th c so sánh trả v TRUE Theo T-SQL/A-Tools N u giá trị so sánh lƠ văn bản thì phải đặt
trong hai dấu nháy đ n ( ' ) , trong Excel lƠ nháy kép “
Các toán tử so sánh là: > , >= , < , <= , <> , = , LIKE , IN, BETWEEN
Khi so sánh tập ký tự bất kỳ ta dùng ký tự % , ký tự này dùng với toán tử là LIKE
Toán tử k t h p logic: AND , OR , NOT
Ví ơ 7: L Ờ ra ỗ ỗ Ơ ƠứƠ Ơ ỗ ỗ b ốg KHO đó Ốử khứƠh hỪốg (MA_KH) lỪ KH001
=BS_SQL("SELECT * FROM KHO WHERE MA_KH='KH001' ")
Ví ơ 8: L Ờ ra ƠứƠ Ơ ỗ SO_CT, NGAY_CT, DIEN_GIAI, THANH_TIEN ỗ sổ NKC đó
ký ỗ đầỘ Ơ a 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 dùng lƠm đ i diện để so sánh với nhóm ký tự bất kỳ, th ng dùng với
toán tử LIKE
Trang 17Ví ơ 9: L Ờ ra ƠứƠ Ơ ỗ SO_CT, NGAY_CT, DIEN_GIAI, THANH_TIEN ỗ sổ NKC đó
ký ỗ đầỘ Ơ a Ơ ỗ NOTK lỪ 11 ộỪ COTK Ơó ký ỗ đầ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%' ")
Trong search_condition, b n có thể sử dụng IN (tập danh sách giá trị) để lƠm đi u kiện
Trong IN có thể là m t c t dữ liệu lấy ra b i SELECT, hoặc danh sách các giá trị cách nhau
WHERE MA_VLSPHH IN ('HH001','HH002','HH003') AND LOAI_PHIEU='N' ")
Ví ơ 11: L Ờ ra ỗ ỗ Ơ ƠứƠ Ơ ỗ ơ lỌ Ộ (*) ỗ sổ KHO đó Ốử hỪốg (MA_VLSPHH) Ơó
ỗroốg ơaốh sứƠh Ốử Ơó lo Ọ (DMVLSPHH.LOAI) lỪ VL ộỪ ộỪ LOAI_PHIEU lỪ ốh p (N)
Trong tập tin “Example.xls” có sheet “DMVLSPHH” ch a thông tin v danh mục hàng hóa