Query NKC trong Access.

Thảo luận trong 'Ứng dụng Access' bắt đầu bởi gacon0904, 1 Tháng mười hai 2005.

3,166 lượt xem

  1. gacon0904

    gacon0904 Thành viên hoạt động

    Bài viết:
    81
    Đã được thích:
    0
    Nơi ở:
    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.
     
    #1
  2. Đào Việt Cường

    Đào Việt Cường Moderator

    Bài viết:
    400
    Đã được thích:
    3
    Giới tính:
    Nam
    Nơi ở:
    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!
     
    Last edited: 8 Tháng mười hai 2005
    #2

Chia sẻ trang này