II. thao tác dữ liệu
8. Báo cáo cân đối công nợ
8.1. Mục đích
-Báo cáo cân đối công nợ đợc lập trong khoảng thời gian bất kỳ do ngời sử dụng tự nhập vào theo tài khoản.
-Báo cáo thể hiện số tiền công nợ tồn đầu kỳ, chi tiết phát sinh trong kỳ và tồn cuối kỳ.
8.2. Khai báo biến và hàm
Khai báo biến
Public matk_cn Khai báo hàm Function fmatk_cn() Fmatk_cn = matk_cn End function * Giải thích
Fmatk_cn(): Mã tài khoản công nợ 8.3. Sơ đồ biến đổi dữ liệu
Trang: 30
QChungTuTH SoDuCongNo QChungTuTH
Q_CNTapHopNo Q_CNTongCoN0N1 Q_CNTongNoN0N1 Q_CNSDN0 Q_SDCNN1 Q_CNDanhSach Q_CNTongNoN1N2 Q_CNTongCoN1N2 DanhMucCongNo Q_CNTapHopCo Q_CNSDN2 SoDuCongNo Q_CNTapHopCo Q_CNTapHopNo R_CNBangCanDoi
Trang: 31
8.4. Các bớc tạo báo cáo a. Tạo Q_CNSDN1 a.1. Tạo Q_CNSDN0
Mục đích: Tìm tổng số d nợ, có của mỗi đối tợng công nợ tại thời điểm bắt đầu sử dụng chơng trình kế toán máy.
Đa các trờng nh lới thiết kế.
a.2. Tạo Q_CNTapHopNo
Mục đích: Tập hợp những công nợ nợ phát sinh trong kỳ Đa các trờng nh lới thiết kế.
Lấy hết tất cả các trờng.
MaCN : MaCNNo Is Not Null a.3. Tạo Q_CNTapHopCo
Mục đích: Tập hợp những công nợ có phát sinh trong kỳ. Làm tơng tự Q_CNTapHopNo
a.4. Tạo Q_CNTongNoN0N1
Mục đích: Tìm tổng số tiền phát sinh nợ của từng đối tợng công nợ trong khoảng chu kỳ hạch toán
Lới thiết kế nh sau:
Trang: 32
a.5. Tạo Q_CNTongCoN0N1
Mục đích: Tìm tổng số tiền phát sinh có của từng đối tợng công nợ trong khoảng chu kỳ hạch toán.
Lới thiết kế tơng tự Q_CNTongNoN0N1 a.6. Tạo Q_CNDanhSach
Tạo Query1 lấy nguồn từ SoDuCongNo chuyển sang câu lệnh SQL Tạo Query2 lấy nguồn từ Q_CNTapHopNo chuyển sang câu lệnh SQL Tạo Query3 lấy nguồn từ Q_CNTapHopCo chuyển sang câu lệnh SQL Nối 3 Query lại với nhau dùng câu lệnh Union…Distinct
SELECT SoDuCongNo.MaCN FROM SoDuCongNo
WHERE (((SoDuCongNo.MaTK)=fmatk_cn()) AND ((SoDuCongNo.MaCN) Is Not Null));
union SELECT distinct Q_CNTapHopNo.MaCN FROM Q_CNTapHopNo
WHERE (((Q_CNTapHopNo.TKNo)=fmatk_cn()) AND ((Q_CNTapHopNo.MaCN) Is Not Null));
UNION SELECT distinct Q_CNTapHopCo.MaCN FROM Q_CNTapHopCo
WHERE (((Q_CNTapHopCo.TKCo)=fmatk_cn()) AND ((Q_CNTapHopCo.MaCN) Is Not Null));
a.7. Tạo Q_CNSDN1
Mục đích: Tìm tổng số d nợ, có của từng đối tợng công nợ tại thời điểm đầu chu kỳ hạch toán.
Trang: 33
Đa các trờng nh lới thiết kế.
Tính thêm 2 CKNo và CKCo trờng với công thức.
CKNo: IIf(nz([dkno]) + nz([psno]) - nz([dkco]) - nz([psco]) > = 0, nz([dkno]) + nz([psno]) - nz([dkco]) - nz([psco]),0)
CKCo: IIf(nz([dkco]) + nz([psco]) - nz([dkno]) - nz([psno]) > = 0,
nz nz([dkco]) + nz([psco]) - nz([dkno]) - nz([psno]),0)
c. Tạo Q_CNSDN2
b.1. Tạo Q_CNTongNoN1N2, Q_CNTongCoN1N2
Mục đích: Tìm tổng số tiền phát sinh nơ (hoặc có ) của từng đối tợng công nợ trong khoảng chu kỳ hạch toán.
Tơng tự tạo Q_CNTongNoN0N1 b.2. Tạo Q_CNSDN2
Mục đích: Tìm tổng số d nợ, có của từng đối tợng công nợ tại thời điểm cuối chu kỳ hạch toán.
Đa các trờng nh lới thiết kế.
Tính thêm hai trờng CKNo và CKCo theo công thức.
Trang: 34
CKNo: IIf(nz([dkno]) + nz([psno]) - nz([dkco]) - nz([psco]) > = 0, nz([dkno]) + nz([psno]) - nz([dkco]) - nz([psco]),0)
CKCo: IIf(nz([dkco]) + nz([psco]) - nz([dkno]) - nz([psno]) > = 0,
gggggggggggggnz([dkco]) + nz([psco]) - nz([dkno]) - nz([psno]),0) d. Tạo Q_CNBangCanDoi
Mục đích: Làm nguồn cho Report.
Lấy hết tất cả các trờng của Q_CNSDN2 và TenCN của DanhMucCongNo 8.5. Giao diện