Tìm thủ thuật nhanh hơn với chức năng tìm trong Blog

11/11/09

Làm sổ quỹ trong Access

Em muốn làm trình kế toán với số liệu thu chi và quỹ còn lại . Ví dụ như sau:
STT___Thu___Chi_______Quỹ còn lại______Diễn giải
1_____0_____100_______500____________mua vật tư
2_____200___0_________700____________kế hoạch a
3_____300___0_________1000___________kế hoạch b

Quỹ còn lại 3 = [quỹ còn lại 2] + [thu 2] - [chi 2]
Bác nào biết cách làm hướng dẫn chi tiết dùm em với, em làm query trong MS Access.

Đáp:
Cái bạn nêu trên thực ra là phần báo cáo(report) . Bạn cần tổ chức CSDL cho hợp lý thì out ra báo cáo dễ dàng hơn.
Ví dụ bạn có thể tổ chức dữ liệu thế này:
Bảng:Nhật ký
Ngày : Date
ThuChi : Yes/No
SốTiền: number(Douple)
Diễn giải: text
….

Tồn đầu kỳ thực tế chỉ là 1 transaction với diễn giãi là Tồn đầu kỳ, dư nợ sẽ nằm bên phần thu nên thuộc tính của ThuChi là yes.

Xong phần cơ bản của thiết kế CSDL.
Bây giờ bạn chuyển từ dữ liệu thô sang report.Report bao giờ cũng chạy trên nền query, vì vậy bạn nên tạo 1 query trung gian thế này:
giờ bạn chuyển từ dữ liệu thô sang report.Report bao giờ cũng chạy trên nền query, vì vậy bạn nên tạo 1 query trung gian thế này:

Code:
SELECT soquy.sochungtu, soquy.ngay, soquy.thuchi, soquy.sotien, soquy.diengiai, IIf([thuchi],[sotien],[sotien]*-1) AS sotien1, IIf([thuchi],[sotien],0) AS Thu, IIf([thuchi],0,[sotien]) AS Chi
FROM soquy
ORDER BY soquy.ngay;
Đặt tên là qrSoquy

Bây giờ bạn tạo 1 report , lấy control source là qrSoquy
Các field như bạn đã nêu. Riêng ô số thứ tự là 1 ô có Control source =1, và thuộc tính running sum là over group, field Còn lại của bạn lấy control source là sotien1 và thuộc tính running sum cũng là over group. Còn lại thì gán thuộc tính bình thường.
Mình đã làm thử 1 chương trình soquy đon giản bằng Access, mời bạn tham khảo. http://duyeagle.googlepages.com/soquyDemo.rar
____________________________________________________________________________________
Thảo luận thêm tại: http://thuthuataccess.co.cc/forum