Query NKC trong Access.

  • Thread starter gacon0904
  • Ngày gửi
G

gacon0904

Guest
9/7/05
81
0
0
42
tphcm
Em có 2 câu query một câu tính số tiền PSNợ và 1 câu tính số tiền PSCó rồi dùng UNION ghép 2 câu lại như sau:

SELECT NGAY, SOCT, DIENGIAI, MATAINO AS TAIKHOAN, SOTIEN AS TPSNO, 0 AS TPSCO FROM Ctu INNER JOIN Btoan ON Ctu.MSCT = Btoan.MSCT
UNION
SELECT NGAY, SOCT, DIENGIAI, MATAICO AS TAIKHOAN, 0 AS TPSNO, SOTIEN AS TPSCO FROM Ctu INNER JOIN Btoan ON Ctu.MSCT = Btoan.MSCT

Khi chạy thì SốTK có lại nằm trên số TK nợ, lại có trường hợp ngược lại.Có cách nào giúp TK nợ phải nằm trên TK có giống như mình định khoản vậy.Cám ơn các anh chị nhiều.
 
Khóa học Quản trị dòng tiền
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear gacon0904,
---------------
Thật là khó chịu phải không, trong khi cơ sở dữ liệu của bạn lại thiết kế 2 tài khoản. Đây là một bất cập về báo giữa kế toán máy và kế toán thủ công bạn nhỉ!
Nhưng mà không sao, trong khi chờ đợi có một quy chuẩn cho sổ sách kế toán máy, chúng ta cứ tạm thời thiết kế nó vậy!
Việc truy vấn không có gì khó khăn đúng không, vấn đề là làm sao cho Access hiểu rằng MATAINO phải đứng trước MATAICO, nói cách khác cột TAIKHOAN được sắp xếp bởi một cột giả lập khác (giả sử là SortNoCo) trong đó chỉ ra index của loại tài khoản (1 - Nợ, 2 - Có)
Muốn thế bạn phải bổ sung vào query một visual field dùng để điền giá trị 1 tương ứng nếu MATAINO <> "" hoặc 0 nếu MATAICO <> "".
Sau khi có index này, trong query bạn Sort Ascending by NGAYCT, SOCT, SortNoCo, tôi đoán là được!
Trên đây là cách mà tôi nghĩ là đơn giản nhất: chỉ cần tổ chức lại bảng CSDL mà không cần lập trình. Mặc dù chưa thử, nhưng tôi nghĩ là được. Bạn cũng sẽ nhận được nhiều phương pháp khác nhau. Hãy chọn cho mình phương pháp phù hợp nhất và có thể áp dụng cho các trường hợp khác.
Tôi cũng sẽ nghiên cứu cùng bạn để kết quả của bạn cũng là của tôi!
Chúc thành công!
 
Sửa lần cuối:

Xem nhiều

Webketoan Zalo OA