II. XÂY DỰNG CHƯƠNG TRÌNH
1. Chứng từ và chứng từ chi tiết
+ Dùng để nhập số liệu trong quá trình hạch tốn
a. Chứng từ :
* Bảng Chứng từ:
+ Khĩa chứng từ (KHOACT) : Đây là khĩa chính của bảng , chỉ dùng để liên kết.
- Kiếu dữ liệu: Autonumber( Bảng chứng từ)
+ Ngày chứng từ (NGAYCT): Dùng để ghi ngày thực tế phát sinh chứng từ. - Kiểu dữ liệu: Date/Time
+ Ngày hạch tốn (NGAYHT): Dùng để ghi ngày làm cơng tác hạch tốn - Kiểu dữ liệu: Date/Time
+ MACT: Mã chứng từ (phiếu thu, phiếu chi, UNC, GBN,GBC) - Kiểu dữ liệu: Text
+ SOCT : Số chứng từ lưu trữ số chứng từ được lưu trên chứng từ gốc làm căn cứ để đối chiếu.
- Kiểu dữ liệu: Text
+ ONGBA: Họ và tên người liên quan đến chứng từ - Kiểu dữ liệu: Text
+ HDTC: Hĩa đơn tài chính - Kiểu dữ liệu : Text
+ MATHUE: đánh dấu loại thuế - Kiếu dữ liệu : Text
b. Bảng chứng từ chi tiết:
+ Khĩa chứng từ (KHOACT): Chỉ dùng để liên kết - Kiểu dữ liệu: Number
+ TKNO: Tài khoản nợ:định khoản của chứng từ chi tiết, phải cĩ trong danh mục tài khoản.
- Kiểu dữ liệu: Text
+ TKCO: Tài khoản cĩ Tuơng tự như tài khoản nợ. - Kiểu dữ liệu:Text
+ SOTIEN: Số tiền giá trị của từng dịng chứng từ - Kiểu dữ liệu: Number
+ MACNNO: Mã cơng nợ nợ: Đối với các chứng từ chi tiết cơng nợ cần chi tiết đối tượng cơng nợ.
- Kiểu dữ liệu: Text
- Kiểu dữ liệu: Text
+ DIENGIAI: Nội dung của từng dịng chứng từ - Kiểu dữ liệu: Text
2.Hạch tốn tiền mặt (TK:111):
2.1. Báo cáo quỹ tiền mặt:
+ Thao tác dữ liệu:
- Tại Modul khai báo biến N1, N2
N1 : Là thời điểm đầu của chu kỳ hạch tốn N2 : Là thời điểm cuối của chu kỳ hạc tốn.
Tạo hàm fn1, fn2 để lấy lấy giá trị trả về cho N1, N2 Option compare database
Option Explicit Public N1, N2 Public Funtion fn1() fn1() = #1/10/2005# (N1) End Funtion Public Funtion fn1() fn2() = #1/31/2005# (N2) End Funtion
Vào Insert\Procedure\nhập vào tên thủ tuc\OK. +Tại Query ta tạo các query;
- qSDTMNO:
- Nguồn: Dah mục tài khoản
-Đưa trường SDNO, kích nút ( sau đĩ chọn hàm sum, đổi tên truờng thành TONDK.
-Đặt điều kiện MATK: Like “111*”,tại dịng total chọn Where. Tạo qCTTH
- Nguồn :chứng từ và chứng từ chi tiết - Đưa tất cả các trường vào lưới thiết kế Tạo qPSTMNON0N1:
- Nguồn: qCTTH
- Kích nút ( , đưa trường SOTIEN , chọn hàm Sum, đổi tên là THU - Đặt điều kiện: + MACT: PT
+ NGAYCT: <fn1() Tạo qPSTMCON0N1
- Nguồn: qCTTH
- Kích nút ( , đưa trường SOTIEN , chọn hàm Sum, đổi tên là CHI - Đặt điều kiện: + MACT: PC
+ TKCO: Like “111*”, NGAYCT: <fn1() Tạo qSDTMN1:
- Nguồn: qSDTMN1, qPSTMNON0N1,qPSTMCON0N1 - Tạo thêm trường TONCK theo cơng thức:
TONCK: nz([tondk]) + nz([thu]) – nz([chi]) Tạo qCHITIETPSTMN1N2
- Nguồn : Qctth
- Đưa các trường: NGAYCT, SOCT, DIENGIAI vào lưới thiết kế. - Đưa trường MACT, đặt điều kiện PT hoặc PC
- Tại trường NGAYCT:>=fn1() and <=fn2() - ĐưaTKNO, đặt điiều kiện Like”111*” - Đưa TKCO, đặt điều kiện Like”111*” - Tính trường TKDU theo cơng thức:
TKDU:iif([tkno] like”111*”,[tkco],[tkno]) - Tính trường THU theo cơng thức:
THU: iif([tkno] like”111*”,[sotien],0) - Tính trường CHI theo cơng thức:
qTONGPSN1N2
- Nguồn: qCHITIETPSTMN1N2 - Kích nút (
- Đưa trường THU , chọn hàm Sum, đổi tên là TONGTHU - Đưa trường CHI , chọn hàm Sum, đổi tên là TONGCHI qSDTMN2
- Nguồn: qSDTMN1 và qTONGPSN1N2 - Đưa trường TONCK, đổi tên là TONDK - Tính thêm trường TONCK theo cơng thức:
TONCK: nz([tondk]) + nz([tongthu]) – nz([tongchi]) + Tại đối tượng Report ta tạo báo cáo quỹ:
- Nguồn: qCHITIETPSTMN1N2
- Vẽ một text box Từ ngày, nhập cơng thức tại thuộc tính Control Source: = fn1()
- Vẽ một text box Đến ngày, nhập cơng thức tại thuộc tính Control Source: = fn2()
- Vẽ một text box Tồn đầu kỳ, nhập cơng thức tại thuộc tính Control Source: = Dlookup(“[tonck]”,”qSDTMN1”)
- Vẽ một text box Tồn cuối kỳ, nhập cơng thức tại thuộc tính Control Source: = Dlookup(“[tonck]”,”qSDTMN2”)
- Vẽ một text box Tổng thu, nhập cơng thức tại thuộc tính Control Source: = Dlookup(“[tongthu]”,”qTONGPSN1N2”)
- Vẽ một text box Tổng chi, nhập cơng thức tại thuộc tính Control Source: = Dlookup(“[tongchi]”,”qTONGPSN1N2”)
- Trang trí cho báo cáo.
2.2 Bảng kê Nợ, bảng kê Cĩ:
a. Bảng kê Nợ TK 111-Cĩ các tài khoản liên quan:
+ Thao tác dữ liệu: Tạo qLOCNO111:
- Nguồn : SOCT, NGAYCT, DIENGIAI, SOTIEN, TKNO,TKCO,MACT - Đặt điều kiện: NGAYCT:>=fn1() and <=fn2()
TKNO: Like “111*” MACT: PT
Tạo qBKNO111:
- Dạng :CrrossTab Query - Nguồn: qLOCNO111
- Tiêu đề hàng: SOCT,NGAYCT,DIENGAI - Tiêu đề cột: TKCO
- Trường cần thống kê :SOTIEN, hàm thống kê sum Tạo Report rBKNO111
- Nguồn: qBKNO111
- Tiêu đề cho bảng kê là: Chứng từ ghi Nợ TK 111- ghi cĩ các tài khoản liên quan.
b. Bảng kê cĩ TK 111- Nợ các tài khoản liên quan:
+ Thao tác dữ liệu: - Tương tự bảng kê nợ
- Tạo qLOCCO111 với điều kiện + TKCO: like “111*”
+ NGAYCT: >=fn1() and <=fn2() +MACT: PC
2.3 Chứng từ ghi sổ 01 Và 02:
Tạo qCTGSNO111
- Nguồn: qLOCNO111, Danh mục tài khoản - Kết nối mối quan hệ giữa MATK và TKCO - Kích nút ( Tạo trường SOCT:”01”
- Tạo trường NGAYCT:#31/01/2005#
- Đưa trường TENTK, đổi tên thành TRICHYEU - Đưa trường TKNO, đổi tên thành “NOù” - Đưa trường TKCO, đổi tên thành “CO”
- Đưa trường SOTIEN, đổi tên sotien chọn hàm Sum. Tao rCTGSNO111:
- Nguồn: qCTGSNO111
- Tạo thêm ngày thág năm , là ngày tháng tạo chứng tưg ghi sổ - Tạo text box ngày tháng năm:
= “Ngày” & day ([NGAYCT]) & “tháng” & month([NGAYCT]) & “năm” & year ([NGAYCT]).
+ Thao tác dữ liệu:
- Nguồn: qLOCCO111,danh mục tài khoản - Tương tự chứng từ ghi sổ số 01
2.4. Sổ Cái:
+ Thao tác dữ liệu: Tạo qSOCAI01
- Nguồn: qCTGSNO111
- Đưa trường SOCT, NGAYCT vào lưới thiết kế. - Đưa trường TRICHYEU đổi tên thành DIENGIAI - Đưa trường CO đổi thành TKDU.
- Đưa trường SOTIEN đổi tên thành SOTIENNO,tính thêm trường SOTIENCO theo cơng thức: SOTIENCO:0
Tạo qSOCAI02
- Nguồn: qCTGSCO111
- Đưa trường SOCT, NGAYCT vào lưới thiết kế. - Đưa trường TRICHYEU đổi tên thành DIENGIAI - Đưa trường NO,đổi thành TKDU.
- Tính SOTIENNO theo cơng thức : SOTIENNO:0 - Đưa trường SOTIEN, đổi tên thành SOTIENCO. Tạo q SOCAI
- Copy câu lệnh SQL của qSOCAI01,qSOCAI02.
- Thêm vào giữa hai câu lệnh cặp từ khĩa : UNION... DISTINCT Tạo rSOCAI : lấy nguồn từ qSOCAI và trang trí cho sổ cái.