Professional Documents
Culture Documents
Example
Example
(*) Để tạo công thức với hàm BS_SQL có thể sử dụng chức năng "SQL Builder" trên thanh công c
BS_SQL: Hàm truy vấn dữ liệu, kết quả trả về là một mảng giá trị dạng bảng (table)
Cấu trúc hàm: BS_SQL(SQL [,OPTIONS])
Trong đó:
+ SQL : Là một chuỗi khai báo câu lệnh truy vấn (SQL). SQL là một ngôn ngữ truy vấn CSDL như trong Acces
http://vi.wikipedia.org/wiki/Select_(SQL)
Các từ có màu xanh đậm là từ khoá, khi viết câu lệnh SQL phải đảm bảo thứ tự trước sau của các từ khoá.
Những khai báo nằm trong ngoặc vuông ([ ]) có thể dùng hoặc không - tuỳ chọn.
select_list: Danh sách các cột trong bảng dữ liệu "table_source", cũng có thể là danh sách các giá trị
---> Để đổ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. Nếu là danh sách thì các bảng cách nhau bởi dấu phả
Ví dụ 1 Chọn tất cả các cột từ sổ NKC
Công thức=BS_SQL("SELECT * FROM NKC")
FROM table_source
table_source: Bảng dữ liệu nguồn chứa các thông tin cần trích lọc, nó có thể là m
Nếu thông tin cần tìm hay để tính toán có từ nhiều sổ thì table_source là n
Các phương thức kết hợp:
INNER JOIN Ví dụ SELECT…
(*) Theo phương thức INNER JOIN
search_condition phải chỉ ra biể
Ví dụ SELECT…
---> Khi lập một bảng mà các cột dữ liệu được lấy từ các table khác nhau thì ph
Tổng quát là [TÊN BẢNG].[TÊN CỘT]
Ví dụ Lập sổ gồm các cột: Tên khách hàng, Số tiền. Dữ liệu được lấy từ 2
Công thức=BS_SQL("SELECT dmkh.ten, nkc.thanh_tien FROM
Công thức=BS_SQL("SELECT dmkh.ten, nkc.thanh_tien FROM
(*) Quan hệ CSDL Có thể lập một sổ mà các cột được nhận từ nhiều sổ khác nhau, các sổ này
Bạn hãy nhìn vào sổ NKC và các sổ danh mục (DM%). Cột MA trong các sổ
Các quan hệ như sau:
NKC.MA_KH = DMKH.MA_KH
NKC.MA_NB = DMNB.MA_NB
NKC.MA_NV = DMNV.MA_NV
NKC.NOTK = DMTK.MA
NKC.COTK = DMTK.MA
KHO.MA_VLSPHH = DMVLSPHH
NKC.SO_CT = KHO.SO_CT
…
Một trường ở tableA quan hệ với một trường ở tableB là chúng cùn
Để hiểu rõ hơn về LEFT JOIN, RIGHT JOIN, FULL JOIN tìm đọc các
(*) http://en.wikipedia.org/wiki/Join_(SQL)
http://msdn2.microsoft.com/en-us/library/aa258869(SQL.80).aspx
WHERE search_condition
search_condition: là điều kiện để truy vấn dữ liệu. Giá trị được so sánh trong điều kiện, nếu là văn bản th
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ử
Cách thức dùng LIKE tôi sẽ hướng dẫn cách sử dụng trong phần nâng cao.
Toán tử kết hợp logic: AND , OR , NOT
Trong search_condition , bạn có thể sử dụng IN (tập danh sách giá trị) để
Sau IN ta có thể là một bảng dữ liệu hay kết của một câu truy vấn SQL
Ví dụ 10 Lập một sổ thông tin về phiếu nhập kho (LOAI_PHIEU='N' ) gồm có: Mã hà
Công thức=BS_SQL("SELECT KHO.MA_VLSPHH, DMVLSPHH.TEN, K
GROUP BY group_by_expression: Được dùng khi bạn thông kê theo nhóm đối tượng
group_by_expression: Là danh sách các cột được nhóm, các cột được ngăn cách nhau bởi dấu p
---> Các hàm dùng để thống kê gồm SUM , COUNT , AVG , MIN , MAX
---> Ví dụ: SUM(THANH_TIEN)
Ví dụ 11 Lập sổ gồm các cột: MA_KH, Tổng tiền mà NOTK là 131 (tổng hợp số tiền c
Công thức=BS_SQL("SELECT MA_KH, SUM(THANH_TIEN) AS [Tổn
Ví dụ 12 Lập sổ gồm các cột: MA_VLSPHH, Tổng số lượng SUM(SLG) tên cột là [Tổn
Công thức=BS_SQL("SELECT MA_VLSPHH, SUM(SLG) AS [Tổng SL
Ví dụ 13 Yêu cầu như Ví dụ 10, nhưng cột SLG được tính tổng và có tên là [Tổng]
Công thức=BS_SQL("SELECT KHO.MA_VLSPHH, DMVLSPHH.TEN, K
Ví dụ Lập danh sách gồm mã khách hàng với số tiền phát sinh lớn nhất, điều kiện
Công thức=BS_SQL("SELECT MA_KH, Max(THANH_TIEN) FROM N
Ví dụ Xem thông tin của 3 khách hàng trong DMKH, mà có phát sinh số tiền lớn n
(Mã khách hàng có trong danh sách 3 người có phát sinh số tiền lớn
Công thức=BS_SQL("SELECT * FROM DMKH WHERE MA_KH IN
(SELECT TOP 3 MA_KH FROM NKC WHERE COTK LIKE '511%' GRO
Lưu ý: Các cột sau mệnh đề GROUP BY là tất cả các cột được liệt kê sau m
(*)---> trừ những cột được thống kê bằng các hàm thống kê như: SUM,COUNT,….
HAVING search_condition
search_condition: là điều kiện để truy vấn dữ liệu giống như dùng với từ khoá WHERE nhưng câu điều k
Sử dụng khai bao HAVING thường đi kế sau với khai báo GROUP BY
Ví dụ: Lập danh sách các mã khách hàng mà có tổng số tiền > 30000000 và 3 ký
Công thức=BS_SQL("SELECT MA_KH, SUM(THANH_TIEN) FROM N
GROUP BY MA_KH
HAVING SUM(THANH_TIEN)>30000000")
Ví dụ: Xem thông tin của các hàng hoá trong DMVLSPHH, mà mã hàng
Công thức=BS_SQL("SELECT * FROM DMVLSPHH WHERE MA_VLS
(SELECT MA_VLSPHH FROM KHO WHERE LOAI_PHIEU = 'N' GROU
Ví dụ 14 Chọn tất cả các cột từ sổ NKC sắp xếp theo cột NGAY_CT và SO_CT
Công thức=BS_SQL("SELECT * FROM NKC ORDER BY NGAY_CT, S
Ví dụ 15 Chọn tất cả các cột từ sổ NKC sắp xếp giảm dần theo cột THANH_T
Công thức=BS_SQL("SELECT * FROM NKC ORDER BY THANH_TIEN
+ 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 th
các tham số được ngăn cách nhau bởi dấu chấm phảy (;)
Các tham số trong OPTIONS gồm có như sau:
DBKEY Cú pháp DBKEY = dbkeyValue
DBKEY : Là tham số khai báo kết nối với CSDL bên ngoài thông qua giá trị
Nếu không khai báo tham số này, ngầm định hàm BS_SQL lấy dữ liệu từ w
(*)---> Để tạo dbkeyValue bạn vào menu "A-Tools->Cơ sở dữ liệu (CSDL) ->Thiết
HR Cú pháp HR=YES|NO
Nếu là YES (ngầm định), kết quả bảng dữ liệu có dòng tiêu đề, NO thì khôn
Nếu không khai báo tham số này, ngầm định hàm BS_SQL đặt HR=YES
Công thức=BS_SQL("
Nhấn CTRL + F3 để kiểm tra các tên đã được đặt. Khi vùng dữ liệu thay đổ
SERVERSOURCE Truy vấn dữ liệu từ máy chủ
Cú pháp: SERVERSOURCE=YES|NO
Để chạy tham số này thì máy chủ A-Tools phải đang mở. Nếu máy chủ A-T
Thực hiện các việc nạp CSDL Excel để chia sẻ và thiết lập các tham số cần
Ví dụ Tại máy khách chạy công thức=bs_sql("SELECT * FROM KHO", "SERVE
(*) VBA Có thể khai báo (lập trình VBA) để chạy các sự kiện trong tham số OPTIONS như sau
OnDblClick = DoDblClick - Cho phép chạy một macro khi nhấp đúp chuột
Trong môi trường lập trình (VBE), viết thủ tục "DoDblClick" trong một mod
Sub DoDblClick(ByVal DataTable As Range, ByVal Row As Integer, ByVal Co
'Có thể đổi tên thủ tục
End Sub
OnGetValue = GetValue - Cho phép chạy một macro (hàm) để thay đổi g
Trong môi trường lập trình (VBE), viết hàm "GetValue" trong một module t
Function GetValue(ByVal DataArray, ByVal Row As Integer, ByVal Column A
'Có thể đổi tên hàm
'GetValue = NewValue
End Function
DataTable: Là vùng dữ liệu trên sheet, ở đó chứa giá trị của hàm BS_SQL,
DataArray: Là mảng (2 chiều R:C) , ở đó chứa giá trị của hàm BS_SQL tron
Row, Column: Là dòng, cột của DataTable hoặc DataArray
OldDataTable: Là vùng dữ liệu cũ trên sheet (được tạo từ công thức cũ)
NewDataTable: Là vùng dữ liệu mới trên sheet (được tạo từ công thức mới
VÍ dụ 20 Lập bảng tập hợp chi phí theo các tài khoản
Công thức=BS_SQL("SELECT NOTK, VTC(COTK,SUM,THANH_TIEN
New VTC(ColumnName,Func,ColumnCalc,[FormatDate])
ColumnName: Tên cột mà các g
Func: Tên hàm dùng để tính (SU
ColumnCalc:Tên cột được tính g
cột này phải là kiểu số.
FormatDate: Là định dạng ngày
nếu kiểu của ColumnName
Nếu ColumnName là kiểu Date m
New FieldIf(search_condition,ValueTrue,[ValueFalse],[Func])
search_condition: Là biểu thức
ValueTrue:Là giá trị nếu kết quả
ValueFalse:Là giá trị nếu kết qu
Func: Tên hàm dùng để tính (SU
Ứng dụng hàm FieldIf - Minh hoạ trong Sheet "N-X-T"
VÍ dụ 21 Lập bảng tổng hợp NHẬP-XUẤT-TỒN gồm các cột: VLSPH, NHAP, XUAT, TO
Công thức=BS_SQL("SELECT MA_VLSPHH, FieldIf(LOAI_PHIEU='N
VÍ dụ 22 Lập bảng tổng hợp NHẬP-XUẤT-TỒN gồm các cột: MÃ,TÊN,ĐVT, NHẬP, XU
Công thức=BS_SQL("SELECT H.MA_VLSPHH,H.TEN,H.DVi, FieldIf(
(cách làm ví dụ 22 là, gán mã tên KHO có mã là K và tên DMVLSPHH là H (
Ứng dụng hàm VTC - Lập các sổ KHO - Minh hoạ trong Sheet "N-X-T"
Ví dụ 23 Lập bảng tổng hợp số lượng các hàng hoá xuất kho (bán) cho các khách hà
Công thức=BS_SQL("SELECT MA_VLSPHH,SUM(SLG) AS [TỔNG XU
VÍ dụ 24 Tương tự như Ví dụ 23 nhưng chỉ là xuất bán, hiện mã và tên khách hàng.
Công thức=BS_SQL("SELECT K.MA_VLSPHH,SUM(K.SLG) AS [TỔN
VÍ dụ 25 Lập bảng tổng hợp số lượng các hàng hoá xuất kho theo từng ngày. Dữ liệ
Công thức=BS_SQL("SELECT MA_VLSPHH,SUM(SLG) AS [TỔNG XU
(*) Lưu ý:
Có thể kết hợp thêm các hàm trong khai báo SQL (phối hợp cùng các hàm CSDL trong A-Tools)
Xem ví dụ trong file: "Bai 2 - Cac ham ho tro nhom ham Database Functions.xls"
Nếu chuỗi tham số SQL trong hàm BS_SQL dài, người dùng nên ngắt và ghép chuỗi lại với nhau
Ví dụ: BS_SQL("SELECT * FROM NKC WHERE MA_KH='KH001' ")
Đổi thành BS_SQL("SELECT * FROM NKC " & "WHERE MA_KH='KH001' ")
Các hàm trong A-Tools, ưu điểm lớn nhất là xử lý trên nhiều loại cơ sở d
ổn định và chính xác tuyệt đối !
Các hàm và các Lệnh khác mời các bạn đọc thêm trên website
Chúc các bạn thành công!
Các bài viết hướng dẫn luôn được cập nhật tại địa chỉ dưới đây:
http://www.bluesofts.net/Products/AddIns/A-Tools/Index.htm
Để học ngôn ngữ SQL, bạn có thể xem và download tài liệu theo các địa chỉ dưới đây:
http://www.bluesofts.net/Books/Hoc SQL co ban.zip
http://www.w3schools.com/sql/sql_intro.asp
Functions http://www.w3schools.com/sql/sql_functions.asp
"Thực hành", sau đó chỉ cần xoá cụm từ "Công thức" là chạy.
ndition ]
der_expression [ ASC | DESC ] ]
CT FROM NKC")
rích lọc, nó có thể là một Name trỏ tới một vùng dữ liệu.
sổ thì table_source là nguồn dữ liệu được kết hợp từ nhiều table,
ác table khác nhau thì phải chỉ thị tên table đứng trước.
. Dữ liệu được lấy từ 2 sổ NKC (THANH_TIEN) và DMKH (Ten).
thanh_tien FROM nkc INNER JOIN dmkh ON nkc.ma_kh = dmkh.ma_kh")
thanh_tien FROM nkc, dmkh WHERE nkc.ma_kh = dmkh.ma_kh")
sổ khác nhau, các sổ này được liên kết với nhau thông qua một trường (Field) có quan hệ.
%). Cột MA trong các sổ danh mục chính là khoá liên kết với sổ NKC, sổ KHO cũng vậy.
A_KH = DMKH.MA_KH
A_NB = DMNB.MA_NB
A_NV = DMNV.MA_NV
OTK = DMTK.MA
OTK = DMTK.MA
A_VLSPHH = DMVLSPHH.MA_VLSPHH
O_CT = KHO.SO_CT
69(SQL.80).aspx
ều kiện, nếu là văn bản thì phải đặt trong dấu nháy đơn ( ' ) , không như Excel.
, LIKE , IN, BETWEEN
tự này dùng với toán tử là LIKE
ng trong phần nâng cao.
A_VLSPHH) có trong danh sách mã có loại (DMVLSPHH.LOAI) là VL và của các phiếu nhập
WHERE MA_VLSPHH IN (SELECT MA_VLSPHH FROM DMVLSPHH WHERE LOAI = 'VL') AND LOAI_PHIEU = 'N' ")
OTK, THANH_TIEN
ng sổ NKC còn Tên KH chỉ có trong DMKH.
ữa NKC và DMKH sau mệnh đề WHERE. Quan hệ là NKC.MA_KH = DMKH.MA_KH
đầu là 131
MKH.TEN, NKC.NOTK, NKC.COTK, NKC.THANH_TIEN FROM NKC, DMKH WHERE NKC.MA_KH=DMKH.MA_KH AND
à 131 (tổng hợp số tiền cho từng khách hàng mà phát sinh Nợ TK =131)
HANH_TIEN) AS [Tổng tiền] FROM NKC WHERE NOTK LIKE '131%' GROUP BY MA_KH")
ng và có tên là [Tổng]
HH, DMVLSPHH.TEN, KHO.LOAI_PHIEU, SUM(KHO.SLG) AS [Tổng] FROM KHO, DMVLSPHH WHERE KHO.MA_VLS
át sinh lớn nhất, điều kiện 3 ký tự đầu của COTK là 511, sắp xếp theo số tiền giảm dần.
HANH_TIEN) FROM NKC WHERE COTK LIKE '511%' GROUP BY MA_KH ORDER BY Max(THANH_TIEN) DESC")
có phát sinh số tiền lớn nhất (trong sổ NKC, COTK LIKE '511%').
ó phát sinh số tiền lớn nhất trong sổ NKC)
WHERE MA_KH IN
OTK LIKE '511%' GROUP BY MA_KH ORDER BY Max(THANH_TIEN) DESC)")
WHERE nhưng câu điều kiện có sử dụng các hàm thống kê SUM, COUNT, MIN,MAX, AVG, …
hai báo GROUP BY
EN)>30000000")
ount(ma_vlsphh)
, mà mã hàng có trong danh sách những hàng hoá có số lần nhập (trong sổ KHO) > 4
SPHH WHERE MA_VLSPHH IN
AI_PHIEU = 'N' GROUP BY MA_VLSPHH HAVING COUNT(MA_VLSPHH)>4)")
ột NGAY_CT và SO_CT
RDER BY NGAY_CT, SO_CT ")
báo. Bình thường trong Excel ta phải làm: chọn (bôi đen) vung, nhấn CTRL+F3 và tạo tên.
ời (các dữ liệu đứng sau sẽ bị đẩy xuống), NO thì bảng kết quả được ghi đè lên vùng dữ liệu.
BS_SQL đặt INSERT=NO
Mỗi sheet chỉ nên có một báo cáo!
ất cả các cột từ sổ NKC. Tên vùng kết quả là DATA, không có dòng tiêu đề
hức=BS_SQL("SELECT * FROM NKC" , "HR=NO;NAME=DATA")
tự như Ví dụ 17, nhưng dữ liệu được lấy bên Access, có khoá kết nối là MDB
hức=BS_SQL("SELECT * FROM NKC" , "HR=NO;NAME=DATA; DBKEY = MDB")
Khi vùng dữ liệu thay đổi, công thức thay đổi thì các Name cũng thay đổi vừa với vùng DL.
ng mở. Nếu máy chủ A-Tools chưa chạy, vào menu A-Tools chạy “Start Server”/”Tạo máy chủ”.
hiết lập các tham số cần thiết.
T * FROM KHO", "SERVERSOURCE=YES")
chạy một macro trước khi cập nhật dữ liệu vào bảng tính
BeforeUpdate" trong một module theo cấu trúc sau
e, ByVal NewDataTable As Range, ByVal DataArray)
phép chạy một macro khi con trỏ ô di chuyển trong vùng dữ liệu (có hàm BS_SQL)
SelectionChange" trong một module theo cấu trúc sau
e, ByVal Row As Integer, ByVal Column As Integer)
acro (hàm) để thay đổi giá trị trong quá trình nhận dữ liệu từ kết quả truy vấn SQL.
lue" trong một module theo cấu trúc sau
Integer, ByVal Column As Integer, ByVal Value As Variant)
giá trị của hàm BS_SQL, dòng (Row) và cột (Column) nhận giá trị từ 1
trị của hàm BS_SQL trong bộ nhớ, dòng (Row) và cột (Column) của mảng nhận giá trị từ 0
n A-Tools VBA.xls"
TK,SUM,THANH_TIEN) FROM NKC WHERE NOTK LIKE '6%' OR NOTK LIKE '8%' GROUP BY NOTK")
Name: Tên cột mà các giá trị của nó làm tiêu thức, điều kiện để tính
ên hàm dùng để tính (SUM, COUNT, MIN, MAX, AVG)
Calc:Tên cột được tính giá trị theo hàm khai báo ở Func,
y phải là kiểu số.
Date: Là định dạng ngày. Có thể bỏ qua tham số này,
u của ColumnName không phải là kiểu Date, hoặc là kiểu Date nhưng dữ liệu đang ở dạng mm/dd/yy.
lumnName là kiểu Date mà dữ liệu nhập không phải ở dạng mm/dd/yy thì FormatDate phải là mm/dd/yy
lse],[Func])
_condition: Là biểu thức logic, cách dùng như sau mệnh đề WHERE
ue:Là giá trị nếu kết quả của search_condition là đúng (True), ValueTrue có thể là tên cột trong table_source.
alse:Là giá trị nếu kết quả của search_condition là sai (False), ValueFalse có thể là tên cột trong table_source.
ên hàm dùng để tính (SUM, COUNT, MIN, MAX, AVG)
o (bán) cho các khách hàng, xuất trả lại người bán (NB%). Dữ liệu được lấy từ sổ KHO
UM(SLG) AS [TỔNG XUẤT], VTC(MA_KH,SUM,SLG) FROM KHO GROUP BY MA_VLSPHH")
, DMVLSPHH, DMKH
_KH=KH.MA_KH
àm CSDL trong A-Tools) như: RECNO, CELL, RANGE, DATA, GetOnce, FORMULA
Functions.xls"
à ghép chuỗi lại với nhau.
H='KH001' ")
MA_KH='KH001' ")
lý trên nhiều loại cơ sở dữ liệu, với khối dữ liệu lớn đảm bảo tốc độ nhanh,
/Index.htm
a chỉ dưới đây:
p
n cách bởi dấu phảy ( , ) table1, table2,..., khi đó
6%' AND NOTK LIKE '3%' ")
BY MA_KH")
Y MA_VLSPHH")
ER BY Max(THANH_TIEN) DESC")
8%' GROUP BY NOTK")
dạng mm/dd/yy.
phải là mm/dd/yy
A_VLSPHH")
K.SLG,0,SUM) AS XUẤT,
_PHIEU LIKE 'N') GROUP BY KHO.MA_VLSPHH, DMVLSPHH.TEN, KHO.LOAI_PHIEU")
PHH H WHERE K.MA_VLSPHH=H.MA GROUP BY H.MA_VLSPHH,H.TEN,H.DVi")
A_VLSPHH")
LƯU Ý
Hãy copy công thức từ các sheet hướng dẫn và dán vào sheet này.
Trước khi dán, bạn nên xoá tất cả vùng dữ liệu.
Là công thức mảng ({Công thức}), để sửa và kết thúc nhấn CTRL+SHIFT+ENTER
Để xoá công thức mảng, chọn toàn bộ vùng công thức rồi nhấn phím DELETE
Lập bảng tổng hợp NHẬP-XUẤT-TỒN gồm các cột: VLSPH, NHAP, XUAT, TON. Dữ liệu được lấy từ sổ
Ví dụ 20 KHO
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN?
Lập bảng tổng hợp số lượng các hàng hoá xuất kho (bán) cho các khách hàng, xuất trả lại
Ví dụ 23 người bán (NB%). Dữ liệu được lấy từ sổ KHO
Lập bảng tổng hợp số lượng các hàng hoá xuất kho theo từng ngày. Dữ liệu được lấy từ sổ
Ví dụ 25 KHO
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
#ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN? #ADDIN?
Ví dụ 26: Lập sổ tổng hợp N-X-T, thông tin lấy từ 3 sổ: KHO, DMVLSPHH, DMKH
Tương tự như Ví dụ 23 nhưng chỉ là xuất bán, hiện mã và tên khách hàng. Dữ liệu được
Ví dụ 24 lấy từ sổ KHO
#ADDIN?
#ADDIN?
#ADDIN?
#ADDIN?
#ADDIN?
#ADDIN?
#ADDIN?
#ADDIN?
#ADDIN?
#ADDIN?
#ADDIN?
K.LOAI_PHIEU='X',K.SLG,0,SUM) AS
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
#ADDIN? #ADDIN?
Nghiệp vụ kinh tế phát sinh (SỔ NHẬT KÝ)
Tên sổ NKC = A3:K112
SO_CT NGAY_CT DIEN_GIAI MA_KH
BH001 7/31/2005 Bán hàng KH001
BH001 7/31/2005 Bán hàng KH001
BH002 7/31/2005 Bán hàng KH002
BH002 7/31/2005 Bán hàng KH002
BH003 7/31/2005 Bán hàng KH003
BH003 7/31/2005 Bán hàng KH003
BH004 7/31/2005 Bán hàng KH004
BH004 7/31/2005 Bán hàng KH004
MH001 7/31/2005 Mua hàng
MH001 7/31/2005 Mua hàng
MH002 7/31/2005 Mua hàng
MH002 7/31/2005 Mua hàng
MH003 7/31/2005 Mua hàng
MH003 7/31/2005 Mua hàng
TDKHO 7/31/2005 Nhập kho tồn đầu
TDKHO 7/31/2005 Tồn kho đầu kỳ
MH00000002 8/3/2005 Trị giá hàng mua:
MH00000002 8/3/2005 Tiền thuế GTGT:
PC00000002 8/5/2005 CHI THANH TOÁN CHO NGƯỜI BÁN[NB002]
BH00000001 8/6/2005 Doanh thu bán hàng: KH001
BH00000001 8/6/2005 Tiền thuế GTGT: KH001
Giá vốn hàng bán
BH00000001 8/6/2005 (Tự động tính) KH001
BH00000002 8/8/2005 Doanh thu bán hàng: KH002
BH00000002 8/8/2005 Tiền thuế GTGT: KH002
Giá vốn hàng bán
BH00000002 8/8/2005 (Tự động tính) KH002
PT00000001 8/10/2005 PHIẾU THU KHÁCH HÀNG THANH TOÁN[KH001] KH001
PT00000002 8/11/2005 PHIẾU THU KHÁCH HÀNG THANH TOÁN[KH002] KH002
PT00000002 8/11/2005 Chiết khâu cho khách hàng KH002
BH00000003 8/14/2005 Doanh thu bán hàng: KH003
BH00000003 8/14/2005 Tiền thuế GTGT: KH003
Giá vốn hàng bán
BH00000003 8/14/2005 (Tự động tính) KH003
PC00000003 8/15/2005 CHI THANH TOÁN CHO NGƯỜI BÁN[NB004]
PC00000004 8/16/2005 CHI THANH TOÁN CHO NGƯỜI BÁN[NB002]
PT00000003 8/16/2005 PHIẾU THU KHÁCH HÀNG THANH TOÁN[KH003] KH003
PT00000003 8/16/2005 Chiết khâu cho khách hàng KH003
MH00000003 8/20/2005 Trị giá hàng mua:
MH00000003 8/20/2005 Tiền thuế GTGT:
MH00000004 8/20/2005 Trị giá hàng mua:
MH00000004 8/20/2005 Tiền thuế GTGT:
BH00000004 8/26/2005 Doanh thu bán hàng: KH004
BH00000004 8/26/2005 Tiền thuế GTGT: KH004
Giá vốn hàng bán
BH00000004 8/26/2005 (Tự động tính) KH004
BH00000005 8/26/2005 Doanh thu bán hàng: KH001
BH00000005 8/26/2005 Tiền thuế GTGT: KH001
Giá vốn hàng bán
BH00000005 8/26/2005 (Tự động tính) KH001
BH00000006 8/26/2005 Doanh thu bán hàng: KH004
BH00000006 8/26/2005 Tiền thuế GTGT: KH004
Giá vốn hàng bán
BH00000006 8/26/2005 (Tự động tính) KH004
PT00000004 8/26/2005 Doanh thu bán hàng: KH004
PT00000004 8/26/2005 Tiền thuế GTGT: KH004
BH00000007 8/27/2005 Doanh thu bán hàng: KH003
BH00000007 8/27/2005 Tiền thuế GTGT: KH003
Giá vốn hàng bán
BH00000007 8/27/2005 (Tự động tính) KH003
BHTL0000001 8/27/2005 Doanh thu bán hàng: KH001
BHTL0000001 8/27/2005 Tiền thuế GTGT: KH001
Giá vốn hàng bán
BHTL0000001 8/27/2005 (Tự động tính) KH001
PT00000005 8/27/2005 Doanh thu bán hàng: KH003
PT00000005 8/27/2005 Tiền thuế GTGT: KH003
MH00000005 8/28/2005 Trị giá hàng mua:
MH00000005 8/28/2005 Tiền thuế GTGT:
LU00000001 8/29/2005 Luong phai trả CNV
LU00000001 8/29/2005 Trích BHXH 15% theo lương
LU00000001 8/29/2005 Trích BHYT 2% theo lương
LU00000001 8/29/2005 Trích KPCĐ 2% theo lương
LU00000001 8/29/2005 Luong phai trả CNV
LU00000001 8/29/2005 Trích BHXH 15% theo lương
LU00000001 8/29/2005 Trích BHYT 2% theo lương
LU00000001 8/29/2005 Trích KPCĐ 2% theo lương
LU00000001 8/29/2005 Luong phai trả CNV
LU00000001 8/29/2005 Trích BHXH 15% theo lương
LU00000001 8/29/2005 Trích BHYT 2% theo lương
LU00000001 8/29/2005 Trích KPCĐ 2% theo lương
LU00000001 8/29/2005 Luong phai trả CNV
LU00000001 8/29/2005 Trích BHXH 15% theo lương
LU00000001 8/29/2005 Trích BHYT 2% theo lương
LU00000001 8/29/2005 Trích KPCĐ 2% theo lương
NKC0000001 8/31/2005 Khấu trừ thuế GTGT đầu vào
PC00000005 6/24/2006 PHIẾU CHI[KT01]
TDTK 7/31/2005 Tồn đầu tài khoản
TDTK 7/31/2005 Tồn đầu tài khoản
TDTK 7/31/2005 Tồn đầu tài khoản
NKC0000002 8/31/2005
MHTL000001 8/27/2005 Trị giá hàng mua:
MHTL000001 8/27/2005 Tiền thuế GTGT:
MH00000001 8/1/2005 Trị giá hàng mua:
MH00000001 8/1/2005 Tiền thuế GTGT:
MH00000006 8/9/2006 Trị giá hàng mua:
MH00000006 8/9/2006 Tiền thuế GTGT:
MH00000007 8/9/2006 Trị giá hàng mua:
MH00000007 8/9/2006 Tiền thuế GTGT:
BH00000008 8/9/2006 Doanh thu bán hàng: KH001
BH00000008 8/9/2006 Tiền thuế GTGT: KH001
BH00000008 8/9/2006 Giá vốn hàng bán (Tự động) KH001
BH00000009 8/9/2006 Doanh thu bán hàng: KH002
BH00000009 8/9/2006 Tiền thuế GTGT: KH002
BH00000009 8/9/2006 Giá vốn hàng bán (Tự động) KH002
MH00000008 8/9/2006 Trị giá hàng mua:
MH00000008 8/9/2006 Tiền thuế GTGT:
BH00000010 8/9/2006 Doanh thu bán hàng: KH003
BH00000010 8/9/2006 Tiền thuế GTGT: KH003
BH00000010 8/9/2006 Giá vốn hàng bán (Tự động) KH003
BH00000011 8/9/2006 Doanh thu bán hàng: KH004
BH00000011 8/9/2006 Tiền thuế GTGT: KH004
BH00000011 8/9/2006 Giá vốn hàng bán (Tự động) KH004
MH00000009 10/24/2006 Trị giá hàng mua:
MH00000009 10/24/2006 Tiền thuế GTGT:
BH00000012 10/24/2006 Doanh thu bán hàng: KH001
BH00000012 10/24/2006 Tiền thuế GTGT: KH001
BH00000012 10/24/2006 Giá vốn hàng bán (Tự động) KH001
KÝ)
Page 39
KHO
Page 40
KHO
N = NHẬP
X= XUẤT
SLG DON_GIA LOAI_PHIEU THANH_TIEN
4 4800000 N 19,200,000.00
6 4500000 N 27,000,000.00
6 2800000 N 16,800,000.00
3 4200000 N 12,600,000.00
4 5000000 N 20,000,000.00
3 4800000 N 14,400,000.00
2 3000000 N 6,000,000.00
2 4500000 N 9,000,000.00
4 4800000 N 19,200,000.00
3 5500000 X 14,700,000.00
2 5200000 X 9,323,076.92
1 3400000 X 2,850,000.00
2 5200000 X 8,640,000.00
2 5200000 X 9,323,076.92
1 3400000 X 2,850,000.00
2 5200000 X 8,640,000.00
2 5200000 X 9,323,076.92
3 5500000 X 14,700,000.00
2 5000000 N 10,000,000.00
4 4800000 N 19,200,000.00
3 3000000 N 9,000,000.00
6 4500000 N 27,000,000.00
3 2800000 N 8,400,000.00
4 4600000 N 18,400,000.00
3 5200000 X 14,046,153.84
2 3400000 X 5,750,000.00
4 5200000 X 17,897,142.86
2 5500000 X 9,364,102.56
2 5800000 X 9,900,000.00
1 5200000 X 4,474,285.71
1 5500000 X 5,135,714.29
2 5200000 X 9,582,051.28
2 3400000 X 5,833,333.33
4 5200000 X 19,164,102.56
1 3400000 X 2,916,666.67
2 5500000 N 9,900,000.00
2 5200000 N 9,364,102.56
6 4800000 N 28,800,000.00
4 5000000 N 20,000,000.00
5 3000000 N 15,000,000.00
3 4500000 N 13,500,000.00
1 5000000 X 5,000,000.00
2 4800000 X 9,600,000.00
2 10000 N 20,000.00
4 4800000 N 19,200,000.00
4 1000 X $40,000.00
2 1000 X
Page 41
KHO
4 1000 X $40,000.00
2 1000 X $2,000.00
3 10000 N $30,000.00
8 1000 X $80,000.00
4 1000 X $4,000.00
4 1000 X $40,000.00
8 1000 X $8,000.00
10 64000 N $640,000.00
5 57000 N $285,000.00
2 35000 X $70,000.00
1 45000 X $45,000.00
1 55000 X $55,000.00
1 100000 X $100,000.00
1 120000 X $120,000.00
1 40000 X $40,000.00
1 45000 X $45,000.00
1 40000 X $40,000.00
1 35000 X $35,000.00
Page 42
Tên sổ DMVLSPHH = A3:D15
MA_VLSPHH TEN Dvi Loai
HH001 Máy tính ĐNA L1 Chiếc HH
HH002 Máy tính ĐNA L2 Chiếc HH
HH003 Máy in HP 1200 Chiếc HH
HH004 Máy in HP 1300 Chiếc HH
HH005 Dầu A Chai HH
HH006 Dầu B Chai HH
BO Bò xào nướng Đĩa HH
LB Lẩu bò Nồi HH
BE Bê Đĩa HH
BTC Bê tái chanh Đĩa HH
BM Bò mông Kg VL
BE1 Bê Kg VL
DM Nhà cung cấp
Tên sổ DMNB
MA_NB TEN MS_THUE DIA_CHI DIEN_THOAI
NB001 Cty TNHH Bắc Á 34 - Tây Sơn 8589555
NB002 Cty TNHH Tuấn Sơn 108 - ĐBP 4595126
NB003 Cty ABC 96 - Nhổn 7655411
NB004 Cty may mặc Thăng Long 22222
Page 44
DM Nhà cung cấp
VIP
Page 45
Tên sổ DMKH
MA_KH TEN MS_THUE
KH001 Cty TNHH Hoàng Long 1233456780123
KH002 Cửa hàng Thành Đông 0021545449
KH003 Cửa hàng máy tính Đông Đô 0120113115
KH004 Cty IPQ 1560045881
KH005 Công ty ICQ 34454555667
DIA_CHI DIEN_THOAI VIP Tinh_TP
34 - Tây Sơn 8589555 Hà Nội
55 - Nguyễn Trãi 3622222 Hải Phòng
108 - ĐBP 4595126 Hà Nội
96 - Nhổn 7655411 Hải Phòng
96 - Nhổn 7655411 Hải Phòng
Tác giả: Nguyễn Duy Tuân
E.Mail: tuanktcdcn@yahoo.com
Tel: 0904.210.337
Website: www.bluesofts.net