GIỚI THIỆU MICROSOFT ACCESS
Chương trình Access
1.1.1 Tệp chứa Chương trình Access
Mỗi một tệp Chương trình thường có một đuôi qui định, ví dụ các tệp Chương trình C có đuôi là C, tệp Chương trình Pascal có đuôi là PAS, tệp Chương trình Foxpro có đuôi là PRG.Một tệp Chương do Access tạo ra có đuôi là MDB
1.1.2 Một hệ Chương trình do Access tạo ra (hệ Chương trình Access)
Chương trình Access gọi là một Database (CSDL) Trong các ngôn ngữ truyền thống như C, Pascal, Foxpro, một hệ Chương trình gồm các tệp Chương trình và các tệp dữ liệu được tổ chức một cách riêng biệt Nhưng trong Access toàn bộ Chương trình và dữ liệu được chứa trong một tệp duy nhất có đuôi MDB như vậy thuật ngữ hệ Chương trình hay CSDL được hiểu là tổ hợp bao gồm cả Chương trình và dữ liệu Để ngắn gọn nhiều khi ta gọi là Chương trình thay cho thuật ngữ hệ Chương trình như vậy dưới đây khi nói đến Chương trình hay hệ chương trình hay CSDL thì cùng có nghĩa đó là một hệ phần mềm gồm cả Chương trình và dữ liệu do Access tạo ra
Mở lệnh Start / Programs / Microsoft office/ Microsoft office access 2007 của
Window; Sau khi chọn xong ta có môi trường access như sau:
Một dự án Access (Access project) là một hoặc nhiều tệp Access nhằm giải quyết một công việc lớn nào đó Khuôn khổ giáo trình này chỉ trình bày những dự án có 1 tệp.
Tệp Access có phần mở rộng *.MDB (ngoài ra những tệp có phần mở rộng *.DBE
Bùi Mạnh Cường – Bộ môn Kiểm toán cũng mở được nhưng chỉ có thể thực thi chứ không chỉnh sửa được cấu trúc) Tệp tin có 5 thành phần chính.
Tables – nơi chứa toàn bộ các bảng dữ liệu
Queries – nơi chứa toàn bộ các truy vấn dữ liệu đã được thiết kế;
Forms – nơi chứa các mẫu giao diện phần mềm;
Reports – nơi chứa các mẫu báo cáo đã được thiết kế;
Macro – nơi chứa các Macro lệnh phục vụ dự án;
Modules – nơi chứa các khai báo, các thư viện chương trình con phục vụ dự án Thông thường mỗi tệp Access cần phải làm việc trên tất cả các thành phần trên. Để bắt đầu tạo một tệp mới, chọn mục Blank database , hộp thoại sau xuất hiện yêu cầu chọn nơi (thư mục) lưu trữ và đặt tên tệp Access Ke toan:
Hãy chọn nơi lưu trữ ở hộp Save in; gõ vào tên tệp ở mục File Name; nhấn Create để ghi lại thiết lập Đến đây đã sẵn sàng sử dụng tệp Access vừa khai báo.
Sau khi một tệp Access được mở, môi trường làm việc trên Access xuất hiện với những thành phần như sau:
Chọn thư mục trên đĩa, nơi sẽ lưu tệp Chu trình doanh thu
Gõ tên tệp cần lưu
Mỗi tệp Access phải tạo mới duy nhất một lần, được mở ra làm việc và ghi lại trong những lần tiếp theo Để mở một tệp Access đã tồn tại để làm việc, làm như sau:
Bước 1: Từ môi trường Access tại mục Open Recent Database chọn more hộp thoại
Hệ thống thực đơn (menu) và các thanh công cụ (Toolbar)- nơi thực hiện các lệnh khi cần
(2) - Cửa sổ tệp Access đang làm việc bao gồm 7 phần chính: Tables, Queries,
Forms, Reports, Pages, Macros và Modules Chúng ta sẽ lần lượt học cách làm việc trên từng phần này trong các chương tiếp theo.
Chọn tên tệp cần mở
Bùi Mạnh Cường – Bộ môn Kiểm toán
Bước 2: Tìm đến tệp Access cần mở trên hộp thoại Open bằng cách:
Tìm đến thư mục – nơi chứa tệp Access cần mở ở hộp Look in; Tiếp theo chọn tệp Access cần mở trên danh sách và nhấn nút Open hoặc Enter Đến đây cửa màn hình làm việc Access với tệp vừa mở xuất hiện để tiếp tục làm việc.
Khi không làm việc với Access, hãy ra lệnh thoát khỏi Access bằng một trong các cách:
Mở thực đơn File | Exit;
Nhấn tổ hợp phím nóng Alt + F4;
Hoặc sử dụng nút Close trên cửa sổ Access đang mở.
Tạo cơ sở dữ liệu trên Access
Xây dựng CSDL là công việc quan trọng đầu tiên trong toàn bộ qui trình phát triển một ứng dụng trên Access Một CSDL được thiết kế và xây dựng tốt sẽ là những thuận lợi, những tự tin đầu tiên để bước vào một qui trình phát triển ứng dụng; nhưng trái lại sẽ là một thảm họa cho dự án đang phát triển: sẽ thường xuyên gặp phải những khó khăn để phải chỉnh sửa lại CSDL và tồi tệ hơn, dự án có thể phải thực hiện lại từ đầu do việc thiết kế CSDL quá kém
Trong phần này sẽ trình bày các khái niệm cũng như các kỹ năng để có thể tiếp cận và xây dựng được các hệ CSDL trên Acces, cụ thể là:
Tạo cấu trúc các bảng dữ liệu;
Thiết lập thuộc tính LookUp;
Thiết lập quan hệ và các thuộc tính đảm bảo toàn vèn dữ liệu;
Nhập dữ liệu cho CSDL;
Đặc biệt là qui trình xây dựng một CSDL Access.
1.2.1 Các khái niệm về CSDL Access
CSDL Access là một đối tượng bao gồm tập hợp các bảng dữ liệu, các kết nối giữa các bảng được thiết kế một cách phù hợp để phục vụ lưu trữ dữ liệu cho một ứng dụng quản lý dữ liệu nào đó.
Ví dụ: CSDL Access Kế toán bao gồm tập hợp các bảng dữ liệu:
TBLBDMTKTONGHOP, TBLBDMTK, TBLSODAUKY, TBLKYKETOAN, TBLSOKTMAY, TBLNGHIEPVU, được kết nối với nhau một cách phù hợp phục vụ lưu trữ dữ liệu cho ứng dụng quản lý dữ liệu kế toán tại doanh nghiệp Toàn bộ cấu trúc CSDL kế toán trên Access được mô tả như sau:
Bảng dữ liệu là thành phần thiết yếu của cơ sở dữ liệu (CSDL), nơi lưu trữ dữ liệu hoạt động cho ứng dụng Mỗi CSDL có thể chứa nhiều bảng, được thiết kế để lưu trữ đủ dữ liệu cần thiết Thiết kế này giúp giảm tình trạng dư thừa dữ liệu, tránh lưu trữ những thông tin không cần thiết Đồng thời, việc tối ưu dung lượng CSDL và tạo môi trường thuận lợi cho quá trình phát triển ứng dụng ở các bước sau là rất quan trọng.
Một bảng dữ liệu trên Access bao gồm các thành phần: Tên bảng, các trường dữ liệu, trường khoá, tập hợp các thuộc tính cần thiết cho mỗi trường dữ liệu và tập hợp các bản ghi.
Mô tả một bảng dữ liệu trong trạng thái Datasheet (nhập, xem, sử dữ liệu):
Bùi Mạnh Cường – Bộ môn Kiểm toán
Mô tả một bảng dữ liệu trong trạng thái Design view (đang thiết kế cấu trúc):
Mỗi cột là một trường dữ liệu (field)
Mỗi dòng là một bản ghi (record)
Mỗi bảng trong cơ sở dữ liệu có một tên riêng Tên bảng thường được đặt sau khi hoàn tất cấu trúc bảng, tương tự như cách đặt tên tệp dữ liệu trong Windows Explorer Tuy nhiên, có thể thay đổi tên bảng ngay trên cửa sổ Database Lưu ý, không nên sử dụng dấu cách, ký tự đặc biệt hoặc ký tự có dấu tiếng Việt trong tên bảng.
Mỗi cột dữ liệu của bảng sẽ tương ứng với một trường dữ liệu Mỗi trường dữ liệu sẽ có một tên gọi và tập hợp các thuộc tính miêu tả trường dữ liệu đó ví dụ như: kiểu dữ liệu, trường khoá, độ lớn, định dạng, Mỗi trường dữ liệu phải được định kiểu dữ liệu Trong Access, trường dữ liệu có thể nhận một trong các kiểu dữ liệu sau:
TT Kiểu dữ liệu Độ lớn Lưu trữ
1 Number Tuỳ thuộc biến cụ thể Số: số thực, số nguyên theo nhiều kiểu
2 Autonumber 4 bytes Số nguyên tự động được đánh số
3 Text Tuỳ thuộc độ dài xâu Xâu ký tự
4 Yes/No 1 bytes Kiểu logic
5 Date/time 8 bytes Lưu trữ ngày, giờ
6 Currentcy Sing Lưu trữ dữ liệu kèm ký hiệu tiền tệ
7 Memo Tuỳ thuộc giá trị kiểu ghi nhớ
8 Hyperlink Tuỳ thuộc độ dài xâu Lưu trữ các siêu liên kết
9 Ole Objects Tuỳ thuộc kiểu dữ liệu âm thanh, hình ảnh, đồ hoạ….
Mỗi dòng dữ liệu của bảng được gọi một bản ghi Mỗi bảng có một con trỏ bản ghi Con
Tập hợp các thuộc tính của trường dữ liệu
Kiểu dữ liệu(Xem bảng 01)
Bùi Mạnh Cường – Bộ môn Kiểm toán trỏ bản ghi đang nằm ở bản ghi nào, người dùng có thể sửa được dữ liệu bản ghi đó Đặc biệt, bản ghi trắng cuối cùng của mỗi bảng được gọi EOF.
Trường khoá có tác dụng phân biệt giá trị các bản ghi trong cùng một bảng với nhau. Trường khoá có thể chỉ 01 trường, cũng có thể được tạo từ tập hợp nhiều trường (gọi bộ trường khoá)
Ví dụ: Bảng TBLBDMTKTONGHOP của CSDL Access Kế toán, trường khoá là SohieuTK
1.2.2 Thiết kế bảng dữ liệu
Liên kết các bảng dữ liệu trong thiết kế CSDL quan hệ là mối liên hệ giữa hai bảng dữ liệu, đảm bảo mục đích lưu trữ dữ liệu cho ứng dụng Trong Access, có hai kiểu liên kết phổ biến: liên kết một-một (1-1) và liên kết một-nhiều (1-n).
Xây dựng cấu trúc bảng
Mục này hướng dẫn cách thiết kế cấu trúc một bảng dữ liệu trên CSDL Access Để có thể làm tốt được công việc này, sinh viên cần tuân thủ theo thứ tự các bước liệt kê dưới đây
Minh hoạ này hướng dẫn cách tạo cấu trúc bảng TBLBDMTKTONGHOP bao gồm các trường Sohieutk, loaitk, tentk
Bước 1: khởi động thiết kế cấu trúc bảng ở chế độ Design view
Chương trình sẽ xuất hiện hộp thoại yêu cầu lưu tên của bảng dữ liệu thiết kế, tại mục Table name, nhập tên bảng cần lưu.
Chú ý: Tên bảng không nên chứa dấu cách, các ký tự đặc biệt khác hoặc chữ Việt có dấu.
Chọn Mục Design để thiết kế bảng
Sau khi nhập tên bảng cần lưu chọn OK, giao diện thiết kế hiện ra như sau:
Bước 2: Khai báo danh sách tên các trường của bảng: bằng cách nhập tên danh sách các trường lên cột field name của cửa sổ thiết kế
Chú ý: Không nên sử dụng dấu cách (Space), các ký tự đặc biệt hoặc chữ tiếng Việt có dấu trong tên trường.
Bước 3: Khai báo kiểu dữ liệu cho các trường của bảng, bằng cách chọn kiểu dữ liệu cho từng trường ở cột Data type tương ứng
Bước 4: Mỗi trường dữ liệu được khai báo trong cửa sổ trên đều có thể thiết lập được rất nhiều các thuộc tính tuỳ thuộc kiểu dữ liệu trường đó đã nhận Các thuộc tính này có thể thiết lập tại phần Tập hợp các thuộc tính của các trường như đã trình bày ở trên Dưới đây là danh sách một số các thuộc tính hay được sử dụng
Bùi Mạnh Cường – Bộ môn Kiểm toán
Với trường Text Độ dài mặc định là 50 Độ dài hợp lệ có thể đặt là từ 1à 255
Với trường Number: Mặc định là Double (8 byte)
Kích thước chọn Ý nghĩa Số lẻ Kích thước chiếm
Byte Số từ 0 đến 255 Không 1 byte
Integer Số từ -32,768 đến 32,768 Không 2 byte
Long Integer -2,147,483,648 đến 2,147,483,648 Không 4 byte Single Số từ - 3.402823E38 đến – 1.401298E-45 cho số âm và từ 1.401298E-45 đến
3.402823E38 cho số dương 7 số lẻ 4 byte
Số từ -1.79769313486231E308 đến – 4.94065645841247E-324 cho số âm từ 1.79769313486231E308 đến
Khoá toàn cục – Globally unique identifier (GUID) xác định duy nhất một đối tượng sao chép
Nếu bỏ qua Format, Access sẽ trình bày dữ liệu theo dạng General.
Thuộc tính Dùng để quy định Giá trị có thể chọn
Field size Độ lớn của số cho phép nhập Độ dài tối đa của chuối text Các kiểu số New values Cách tạo ra giá trị mới (chỉ có trong điều kiện autoNumber) Tăng dần (increment/ ngẫu nhiên
(random) Format Định dạng hiển thị dữ liệu Tuỳ kiểu dữ liệu
Places Quy định số thập phân tối đa Tự động (auto) hoặc tuỳ định
Input Mask Dạng thức hiển thị số liệu nhập Chỉ cho dữ liệu kiểu Text hoặc Date Caption Nhãn sẽ xuất hiện thay cho tên trường Tuỳ chọn
Default Value Giá trị mặc nhiên được gán cho vùng khi chờ nhập số liệu Tuỳ định
Biểu thức kiẻm soát đối với dữ liệu nhập vào (điều kiện hợp lệ) Biểu thức hợp lệ Validation
Thông báo lỗi xảy ra khi dữ liệu không đáp ứng điều kiện hợp lệ Cột "Required" chỉ ra tính bắt buộc của dữ liệu, có thể là "Có" hoặc "Không" Cột "Allow zero" cho biết liệu chuỗi ký tự rỗng được phép hay không, có thể là "Có" hoặc "Không".
Length Không có ký tự nào hay không (No)
Indexed Sắp xếp dữ liệu hay không
No: không cần sắp xếp Yes: (Duplicates OK) cho sắp xếp, chấp nhận giá trị trùng
Yes (No Duplicates) cho sắp xếp không chấp nhận giá trị trùng
Hai chữ số phần thập phân vd: 100,00)
Giá trị Format Số Được trình bày
Standard 1234,568 1.234,50 (dấu chấm ngăn cách hàng ngàn)
Currency 1234,5 1.234,50(UK) (dấu phẩy hàng ngàn)
1 General Number: Không phụ thuộc vào Decimal Places, hiện số chữ số thập phân cần thiết nhất
2 Decimal Places = n : Mọi dạng (trừ General Number) hiện đúng n chữ số thập phân
3 Decimal Places = Auto : Khi đó:
Dạng khác (trừ General): 2 số lẻ
Các giá trị của thuộc tính Format đối với trường DATE/TIME
Giá trị Format Ngày/giờ được trình bày
Các giá trị của thuộc tính Format đối với trường YES/NO
Yes/No Giá trị logic là Yes và No
True/Falsse Giá trị logic là True và False
On/Off Giá trị logic là On và Off
Thuộc tính Input Mask (mặt nạ nhập liệu)
Đặt vấn đề, giới thiệu mục tiêu chương trình xây dựng
Trong công tác kế toán, tất cả các sổ sách, báo cáo đều được lập theo mẫu quy định của nhà nước và theo từng kỳ kế toán Khi xây dựng chương trình kế toán này chủ yếu hướng tới đến việc lập sổ sách và báo cáo theo từng kỳ kế toán đúng với quy định của chế độ Việc lập sổ sách bằng máy cũng giống như làm bằng tay đều tuân thủ đều tuân thủ đúng chế độ kế toán hiện hành, cả về quy tắc xây dựng, trình tự ghi sổ.
Mục tiêu của chương trình kế toán là xây dựng các sổ sách và báo cáo được tổ chức trong công ty, để tiến hành được việc ban đầu ta cần thiết lập các bảng dữ liệu ban đầu.
Hệ thống bảng dữ liệu
Bảng này liệt kê hệ thống tài khoản cấp 1 của đơn vị theo quy định hiện hành của chế độ kế toán Các tài khoản này sẽ được sử dụng mở sổ cái Bảng bao gồm các trường là số hiệu tài khoản, loại tài khoản, tên tài khoản Cấu trúc bảng như sau:
Field name Data type Description Validation rule
SohieuTKTH Text(3) Số hiê ̣u tài khoản tổng hợp
LoaiTK Text(1) Loại tài khoản là N hoă ̣c C = “N” or = “C”
TenTK Text(255) Tên tài khoản
Bùi Mạnh Cường – Bộ môn Kiểm toán
Bảng này lưu trữ thông tin về tài khoản chi tiết Mỗi tài khoản được mở trong bảng này sẽ theo dõi một hoặc một nhóm đối tượng do yêu cầu quản lý của công ty Bảng này bao gồm các trường như số hiệu tài khoản, loại tài khoản, tên tài khoản, đơn vị tính, số hiệu tài khoản tổng hợp Cấu trúc bảng như sau:
Field name Data type Description Validation rule
SohieuTKCT Text(20) Số hiê ̣u tài khoản chi tiết
LoaiTK Text(1) Loại N hoă ̣c N = “N” or = “C”
TenTK Text(255) Tên tài khoản
DVT Text(20) Đơn vị tính
Hệ thống tài khoản được dùng qua nhiều kỳ kế toán, nhưng các nghiệp vụ kinh tế phát sinh lại thuộc một kỳ cụ thể Các tài khoản lại có số dư đầu kỳ khác nhau giữa các kỳ Để phân biệt được số liệu giữa các kỳ kế toán, ta cần một bảng lưu trữ thông tin kỳ kế toán Cấu trúc bảng như sau:
Field name Data type Description Validation rule
Maky Text(6) Mã kỳ Like ‘??????’
Ghi nhận số dư đầu kỳ, số lượng tồn đầu kỳ của các tài khoản trong mỗi kỳ kế toán tại công ty Cấu trúc bảng như sau:
Bùi Mạnh Cường – Bộ môn Kiểm toán
Field name Data type Description
SohieuTKCT Text(20) Số hiê ̣u tài khoản chi tiết
Maky Text(6) Mã kỳ kế toán
SoluongtonDK Number Số lượng tồn đầu kỳ
SoduDK Number Số dư đầu kỳ
Bảng này ghi nhận thông tin tất cả các chứng từ kế toán phát sinh trong kỳ Các chứng từ kế toán này bao gồm: Hóa đơn GTGT, phiếu thu, phiếu chi, phiếu xuất kho, phiếu nhập kho…Do đó bảng này chứa các thông tin của các chứng từ này Cấu trúc bảng như sau:
Field name Data type Description Validation rule
Nghiepvu Number Mã nghiê ̣p vụ
Maky Text(6) Mã kỳ kế toán
Ngayghiso Date/time Ngày ghi sổ
Diengiaichung Text(255) Diễn giải nghiê ̣p vụ kinh tế
Sohoadon Text(10) Số hoá đơn
Ngayhoadon Date/time Ngày hoá đơn
Sophieuthuchi Text(10) Số phiếu thu chi Like ‘[PT,PC,GBN,GBC]*’ Ngaythuchi Date/time Ngày chứng từ thu chi
Nguoinhan_nop Text(50) Người nhâ ̣n (nô ̣p) tiền
Sophieunhapxuat Text(10) Ngày chứng từ nhâ ̣p (xuất) kho Like ‘P[N,X]K*’
Ngaynhapxuat Date/time Ngày nhâ ̣p (xuất) kho
Nguoigiao_nhan Text(50) Người giao (nhâ ̣n) hàng
Giaonhantaikho Text(30) Nơi giao (nhâ ̣n) hàng tồn kho
TenCSKD Text (255) Tên CSKD nhâ ̣n (cung cấp) hàng tồn kho Masothue Text (12) Mã số thuế của CSKD đối tác
Bùi Mạnh Cường – Bộ môn Kiểm toán Bảng này ghi nhận lại các chi tiết định khoản xuất phát từ những chứng từ phát sinh trong bảng tblNghiepVu Cấu trúc bảng như sau:
Khoá ngoại: Nghiepvu, TaikhoanGN, TaikhoanGC
Field name Data type Description Validation rule
Nghiepvu Number Mã nghiê ̣p vụ
TaikhoanGN Text(20) Tài khoản ghi nợ
TaikhoanGC Text(20) Tài khoản ghi có
SoluongPS Number/Double Số lượng phát sinh
SotienPS Number/Double Số tiền phát sinh
Khi xây dựng xong các bảng, để liên kết giữa các dữ liệu cần tạo các mối liên kết giữa các bảng.
2.4 Xây dựng các query cơ sở:
Liệt kê tài khoản, tên và số dư đầu kỳ của kỳ kế toán đang chọn, giúp nhập dữ liệu được dễ dàng hơn.
Kết nối inner Join qua sohieutk
Các trường: SohieuTK, SohieuTKTH, tenTK, DVT, từ tblBDMTK; soluongtonDK, sodudk từ tblsodauky.
Bùi Mạnh Cường – Bộ môn Kiểm toán
SELECT tblBDMTK.*, tblSoDauKy.SoLuongTonDK, tblSoDauKy.SoDuDK
FROM tblBDMTK INNER JOIN tblSoDauKy ON tblBDMTK.SoHieuTK=tblSoDauKy.SoHieuTK;
Ghi nhận các bút toán định khoản trong kỳ cùng với thông tin chứng từ gốc.
- Soct: nz(sohoadon, nz(sophieuthuchi, sophieunhapxuat))
- Ngayct: nz(ngayct_hoadon,nz(ngayct_thuchi, ngayct_nhapxuat))
- Từ tblsoKTMay lấy các trường: diengiai, Tkghino, Tkghico, soluongps, sotienps
SELECT tblNghiepVu.*, nz([sohoadon],nz([sophieuthuchi],[sophieunhapxuat])) AS Soct, nz([ngayct_hoadon],nz([ngayct_thuchi],[ngayct_nhapxuat])) AS Ngayct, tblSoKTMay.DienGiai, tblSoKTMay.Tkghino, tblSoKTMay.Tkghico, tblSoKTMay.SoLuongPS, tblSoKTMay.SoTienPS
FROM tblNghiepVu INNER JOIN tblSoKTMay ON tblNghiepVu.NghiepVu = tblSoKTMay.NghiepVu;
Bùi Mạnh Cường – Bộ môn Kiểm toán
Lấy ra các bút toán theo tài khoản tổng hợp trên từng chứng từ Gom nhóm trên tài khoản tổng hợp bên Nợ, bên Có ở mỗi chứng từ, tính tổng trên số tiền phát sinh.
Nguồn: QrySKTM, Query type: Totals.
QrySKTM.NgayGhiSo, QrySKTM.SoHoaDon, QrySKTM.NgayCT_HoaDon,
QrySKTM.SoPhieuThuChi, QrySKTM.NgayCT_ThuChi, QrySKTM.SoPhieuNhapXuat,
QrySKTM.NgayCT_NhapXuat, QrySKTM.soct, QrySKTM.ngayct, QrySKTM.DienGiai,
Left([tkghino],3) AS tkghinoTH, Left([tkghico],3) AS tkghicoTH, Sum(QrySKTM.SoTienPS) AS SotienpsTH
GROUP BY QrySKTM.NgayGhiSo, QrySKTM.SoHoaDon, QrySKTM.NgayCT_HoaDon,
QrySKTM.SoPhieuThuChi, QrySKTM.NgayCT_ThuChi, QrySKTM.SoPhieuNhapXuat,
QrySKTM.NgayCT_NhapXuat, QrySKTM.soct, QrySKTM.ngayct, QrySKTM.DienGiai,
Bùi Mạnh Cường – Bộ môn Kiểm toán
Lập ra một bảng tổng hợp thông tin số dư đầu kỳ, số phát sinh Nợ/Có và số dư cuối kỳ của các tài khoản chi tiết cần theo dõi. Để xây dựng được query QryBDMTK ta phải đi từ các query trung gian.
Dựa vào QrySKTM để tính số lượng, giá trị nhập (phát sinh bên nợ) cho các tài khoản có phát sinh bên nợ trong kỳ Gom nhóm trên tài khoản ghi nợ, tính tổng trên số lượng và số tiền phát sinh.
Nguồn: QrySKTM., Query type: Totals.
QrySKTM.TKGHINO AS SoHieuTK, Sum(QrySKTM.SoLuongPS) AS SLPSNo,
Sum(QrySKTM.SoTienPS) AS SoPSNo
Bùi Mạnh Cường – Bộ môn Kiểm toán
Tổng hợp số liệu từ QrySKTM để thống kê tổng số lượng, tổng giá trị phát sinh bên có cho những tài khoản phát sinh bên có trong kỳ Nhóm dữ liệu theo tài khoản ghi có, tính tổng số lượng và tổng số tiền phát sinh.
Nguồn: QrySKTM, Query type: Totals.
QrySKTM.TKGHICO AS SoHieuTK, Sum(QrySKTM.SoLuongPS) AS SLPSCo,
Sum(QrySKTM.SoTienPS) AS SoPSCo
Query này liệt kê thông tin các tài khoản với SoHieuTK, SoHieuTKTH, LoaiTK, tên, số dư, số phát sinh,… trong kỳ.
Nguồn: tblBDMTK, QrySDDK, QryPSN, QryPSC.
SoHieuTK, SoHieuTKTH, LoaiTK, TenTK, DVT (từ tblBDMTK)
SLTCK: IIF(tblBDMTK.SoHieuTK like ‘15[2,3,5,6,7,8]*’, SLTDK + SLPSN – SLPSC, 0)SDCK: SDDK + IIF(LoaiTK=’N’,SPSN – SPSC, SPSC – SPSN)
Bùi Mạnh Cường – Bộ môn Kiểm toán
SELECT tblBDMTK.SoHieuTK, tblBDMTK.SoHieuTKTH, tblBDMTK.LoaiTK, tblBDMTK.TenTK, tblBDMTK.DVT, CDbl(nz([SoLuongTonDK],0)) AS SLTDK,
The subtraction of SLPSN from SLTDK and addition of SLPSC, determines SLTCK SDCK calculates by adding SDDK and SPSN if LoaiTK is 'N', otherwise subtract SPSN from SPSC.
FROM ((tblBDMTK LEFT JOIN QrySDDK ON tblBDMTK.SoHieuTK =
QrySDDK.SoHieuTK) LEFT JOIN QryPSC ON tblBDMTK.SoHieuTK = QryPSC.SoHieuTK) LEFT JOIN QryPSN ON tblBDMTK.SoHieuTK = QryPSN.SoHieuTK;
2.5 Xây dựng các sऀ sách kế toán
Nguồn: QrySKTMTH Điều kiện : TKghinoth="111"
GhicoTKK: IIf(tkghicoth Not In ("511","333","131","711","112"),sotienpsth,0)
Bùi Mạnh Cường – Bộ môn Kiểm toán
SELECT QrySKTMTH.NgayGhiSo, QrySKTMTH.SoPhieuThuChi AS soct, QrySKTMTH.NgayCT_ThuChi AS ngaychungtu, QrySKTMTH.diengiai, QrySKTMTH.SoTienPSth AS ghino111, IIf(tkghicoth="511",sotienpsth,0) AS ghico511, IIf(tkghicoth="333",sotienpsth,0) AS ghico333, IIf(tkghicoth="131",sotienpsth,0) AS ghico131, IIf(tkghicoth="711",sotienpsth,0) AS ghico711, IIf(tkghicoth="112",sotienpsth,0) AS ghico112, IIf(tkghicoth Not In ("511","333","131","711","112"),sotienpsth,0) AS ghicotkk, IIf(ghicotkk0,tkghicoth,"") AS sohieutkkhac
7 Tổng phát sinh có TKK
Nguồn: QrySKTMTH Điều kiện : TKghicoth="331" và Tkghinoth "331"
GhinoTKK: IIf(tkghinoth Not In ("152","156","642","133"),sotienpsth,0)
Bùi Mạnh Cường – Bộ môn Kiểm toán
QrySKTMTH.NgayGhiSo, QrySKTMTH.SoPhieuThuChi AS soct, QrySKTMTH.NgayCT_ThuChi AS ngaychungtu, QrySKTMTH.diengiai, QrySKTMTH.SoTienPSth AS ghico331, IIf(tkghinoth="152",sotienpsth,0) AS ghino152, IIf(tkghinoth="156",sotienpsth,0) AS ghino156, IIf(tkghinoth="642",sotienpsth,0) AS ghino642, IIf(tkghinoth="133",sotienpsth,0) AS ghino133, IIf(tkghinoth Not In ("152","156","642","133"),sotienpsth,0) AS ghinotkk, IIf(ghinotkk0,tkghinoth,"") AS sohieutkkhac
6 Tổng phát sinh nợ TKK
Nguồn: QrySKTMTH Điều kiện : (TKghinoth Not In ("111","112","131") AND TKGHICOth Not In
("111","112","331")) OR (TKghinoth="131" AND TKGHICOth="131") OR (TKghinoth)="331" AND TKGHICOth)="331");
Bùi Mạnh Cường – Bộ môn Kiểm toán
SELECT QrySKTMTH.NgayGhiSo, QrySKTMTH.Soct, QrySKTMTH.Ngayct, QrySKTMTH.diengiai, QrySKTMTH.SoTienPSth, QrySKTMTH.TKghinoth AS TKGN, QrySKTMTH.TKGHICOth AS TKGC
WHERE (((QrySKTMTH.TKghinoth) Not In ("111","112","131")) AND ((QrySKTMTH.TKGHICOth) Not In ("111","112","331"))) OR (((QrySKTMTH.TKghinoth)="131") AND ((QrySKTMTH.TKGHICOth)="131")) OR (((QrySKTMTH.TKghinoth)="331") AND ((QrySKTMTH.TKGHICOth)="331"));
Nhật ký thu tiền gửi ngân hàng
Nhật ký chi tiền mặt
Nhật ký chi tiền gửi ngân hàng
Nhật ký thu tiền dùng chung cho tiền mặt và tiền gửi ngân hàng
Nhật ký chi tiền dùng chung cho tiền mặt và tiền gửi ngân hàng
Nguồn: QrySKTMTH Điều kiện lọc: TKGhiNoTH= '131' Or TKGhiCoTH= '131'
TKDoiUng: IIF(TKGhiNoTH= '131', TKGhiCoTH, TKGhiNoTH)
Bùi Mạnh Cường – Bộ môn Kiểm toán
QrySKTMTH.NgayGhiSo, QrySKTMTH.Soct, QrySKTMTH.Ngayct, QrySKTMTH.DienGiai, IIf([TKGhiNoTH]= '131',[TKGhiCoTH],[TKGhiNoTH]) AS TKDOIUNG, IIf([TKGhiNoTH]=
'131',[SoTienPSTH],0) AS SoPSNo, IIf([TKGhiCoTH]= '131',sotienpsth,0) AS SoPSCo
WHERE (((QrySKTMTH.TKGHINOTH)= '131')) OR (((QrySKTMTH.TKGHICOTH)= '131'));
1 Tính số dư đầu kỳ: DDK
2 Dư nợ đầu kỳ: DN
3 Dư có đầu kỳ: DC
4 Tổng phát sinh nợ: TN
5 Tổng phát sinh có:TC
6 Số dư cuối kỳ nợ
= IIf(DN+TN-DC-TC>0,DN+TN-DC-TC,0)
7 Số dư cuối kỳ có
= IIf(DN+TN-DC-TC0,DN+TN-DC-TC,0)
7 Số dư cuối kỳ có
= IIf(DN+TN-DC-TC