Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Giúp đỡ tạo query phân bổ 1 khoản tiền ra nhiều đơn hàng
#1
Nhờ các bác giúp em vấn đề sau:

Khách hàng trả một khoản tiền 90.000.000
trong đó khách hàng mua 3 hóa đơn với giá trị như sau
ngày 1/1/20xx mua HĐ 1: 20.000.000
ngày 8/1/20xx mua HĐ 2: 60.000.000
ngày 11/1/20xx mua HĐ 3: 30.000.000
-----
Nhờ các bác giúp tạo query sao cho tạo ra kết quả cuối cùng là
HĐ 1: Đã trả hết
HĐ 2: Đã trả hết
HĐ 3: Còn thiếu 20.000.000

Em cám ơn các bác nhiều ạ, em nghĩ mãi ko ra híc  020 020
Chữ ký của bonv2b bonv2b,gia nhập Thủ Thuật Access từ 09-07 -15.
Reply
Những người đã cảm ơn
#2
Cái này không dùng Query được đâu mà phải dùng code.
Nghiệp vụ theo dõi công nợ này cũng phức tạp và còn nhiều table liên quan nhưng để đơn giản như yêu cầu của bạn thì xem file demo đính kèm nhé.
http://www.mediafire.com/download/ly4z8y...ong_no.mdb
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , bonv2b , Noname
#3
Như ongke0711 đã nói nghiệp vụ công nợ rất phức tạp, cách tính toán của mỗi người viết ứng dụng cũng khác nhau theo từng yêu cầu công nợ thực tế của doanh nghiệp. Nhìn sơ qua thấy có vẻ yêu cầu của bạn quá đơn giản nhưng xem kỹ lại thì không đơn giản chút nào.
Yêu cầu của bạn là
ngày 1/1/20xx mua HĐ 1: 20.000.000
ngày 8/1/20xx mua HĐ 2: 60.000.000
ngày 11/1/20xx mua HĐ 3: 30.000.000
-----
Nhờ các bác giúp tạo query sao cho tạo ra kết quả cuối cùng là
HĐ 1: Đã trả hết
HĐ 2: Đã trả hết
HĐ 3: Còn thiếu 20.000.000
 
Khách hàng trả một khoản tiền 90.000.000 (Bạn không cho biết thời gian trước , sau hay khỏan giữa các phát sinh nợ). Nếu đó là khoản tiền ứng trước thì có thể xử lý cho field ghi chú “đã trả hết” mới được còn đó là khoản tiền trả sau phát sinh nợ thì dù có viết code VBA cũng bó tay (Bởi vì phải xử lý chạy ngược chạy xuôi từng record để thêm ghi chú “đã trả hết” thì đây là công việc tốn tài nguyên máy rất lớn mà hiệu quả thì lại không đáng.). Cách xử lý nhẹ nhàng nhất là xử lý bằng Running Sum trong Report tất nhiên dù Query hay Report thì cột tồn nợ hay lỹ kế nợ vẫn chỉ báo con số nợ được lũy kế chứ không quay ngược lại để cho biết từng hóa đơn dã xử lý hết nợ.
Còn nếu vẫn muốn làm điều đó bạn có thể tạo trên table phát sinh 2 field nợ lũy kế và ghi chú. Nợ lũy kế thì có thể viết code để xử lý trực tiếp khi nhập phát sinh còn ghi chú thì bạn phải xử lý bằng tay.
Gửi bạn demo trong đó có cách xử lý bằng query và report. (tính cột lũy kế cộng dồn như trong excel)
Query thì bạn phải xử lý bằng 2 cái
  1. Q_PHATSINHNO (làm query nguồn)
 
SELECT CONGNO.STT, CONGNO.Ngay, CONGNO.Conno, CONGNO.Datra, [Conno]-[Datra] AS PHATSINHNO
FROM CONGNO;
 
  1. Q_LUYKENO (tạo cột NOLUYKE)
 
SELECT TAM.STT, TAM.Ngay, TAM.Conno, TAM.Datra, (SELECT Sum(Q_PHATSINHNO.PHATSINHNO) AS Total  FROM Q_PHATSINHNO  WHERE Q_PHATSINHNO.STT <= TAM.STT) AS NOLUYKE
FROM Q_PHATSINHNO AS TAM;
 
Report thì đơn giản hơn chỉ cần tạo textbox NOLUYKE =[Conno]-[Datra] rồi thiết đặt Running Sum cho nó

Demo
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn ongke0711 , maidinhdan , Noname
#4
Cái query của bác An hay quá, em (thua bác 1 giáp nếu đúng bác sinh năm 62 ;-) ) đang áp dụng để làm cái báo cáo bảo dưỡng xe (cảnh báo chu kỳ bảo dưỡng vs số km đi được).
Riêng phần công nợ, em có thêm một số ý kiến chia sẽ về thực tế theo dõi công nợ bên em, không biết cty bác làm như thế nào?
- Bên em khi nhân viên thu tiền đem tiền về thì họ sẽ làm cái báo cáo thu tiền, cụ thể là 1 cục tiền đó khách hàng trả cho hóa đơn nào, số tiền bao nhiêu. Sau đó admin sẽ nhập thủ công vào phần mềm công nợ --> không cần điên đầu viết code tự động phân bổ hóa đơn.
- Có khi nhân viên admin sẽ gợi ý tư vấn với khách là thành toán dứt cho các hóa đơn nhỏ trước (mặc dù thời gian đến hạn sau) --> tính thủ công nhiều ,linh hoạt khi thanh toán hóa đơn --> không cần code tự động phân bổ.
- Khi khách thanh toán = chuyển khoản thì cũng ghi chú là thanh toán cho hóa đơn số mấy.
Do vậy em nghĩ thủ công như vậy lại thực tế hơn là tự động hóa. Em "chọn việc nhẹ nhàng" cho lập trình xử lý công nợ  này... 007 . Có thể còn các nghiệp vụ khác bên admin công nợ mà em chưa trải ngiệm (vì làm sales mà) nên chưa bao quát hết vấn để.
Vài dòng chia sẽ 007 .
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , Noname
#5
(16-07-15, 09:10 PM)ongke0711 Đã viết: Cái query của bác An hay quá, em (thua bác 1 giáp nếu đúng bác sinh năm 62 ;-) ) đang áp dụng để làm cái báo cáo bảo dưỡng xe (cảnh báo chu kỳ bảo dưỡng vs số km đi được).
Riêng phần công nợ, em có thêm một số ý kiến chia sẽ về thực tế theo dõi công nợ bên em, không biết cty bác làm như thế nào?
- Bên em khi nhân viên thu tiền đem tiền về thì họ sẽ làm cái báo cáo thu tiền, cụ thể là 1 cục tiền đó khách hàng trả cho hóa đơn nào, số tiền bao nhiêu. Sau đó admin sẽ nhập thủ công vào phần mềm công nợ --> không cần điên đầu viết code tự động phân bổ hóa đơn.
- Có khi nhân viên admin sẽ gợi ý tư vấn với khách là thành toán dứt cho các hóa đơn nhỏ trước (mặc dù thời gian đến hạn sau) --> tính thủ công nhiều ,linh hoạt khi thanh toán hóa đơn --> không cần code tự động phân bổ.
- Khi khách thanh toán = chuyển khoản thì cũng ghi chú là thanh toán cho hóa đơn số mấy.
Do vậy em nghĩ thủ công như vậy lại thực tế hơn là tự động hóa. Em "chọn việc nhẹ nhàng" cho lập trình xử lý công nợ  này... 007 . Có thể còn các nghiệp vụ khác bên admin công nợ mà em chưa trải ngiệm (vì làm sales mà) nên chưa bao quát hết vấn để.
Vài dòng chia sẽ 007 .

Mình đúng là sinh năm 62. Mình làm kế toán cho nhiều công ty đồng thời cũng cung cấp khá nhiều phần mềm kế toán nên cũng có một vài kinh nghiệm nho nhỏ tùy theo từng cách xử lý của các công ty. Theo kiểu công ty của bạn thì mình có ý như thế này. Bạn làm thêm một table thu nợ có khoá ngoại là mã số hóa đơn & số hóa đơn (do mã số hóa đơn & số hóa đơn bán ra của bạn là duy nhất nên xử lý nó làm trường khóa chính), bạn có thể đưa vào table thu nợ các trường như ngày thu nợ, người thu nợ, số tiền thu được. Khi các phát sinh thu nợ đó = phát sinh nợ của hóa đơn là hết nợ. Từ 2 table phát sinh hóa đơn (có nợ) và table thu nợ rất dễ dàng làm report để báo cáo. Trường hợp nếu phần mềm của bạn có hạch toán tài khoản thì bạn thì nó chính là phát sinh của TK 131 trên table phát sinh tài khoản bạn thêm một field tên khách hàng để theo dõi. Khi Nợ - Có TK 131 của khách hàng nào bằng nhau thì khách hàng đó hết nợ.
Chúc bạn thành công.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn ongke0711 , Noname
#6
Kaka, cám ơn các bác. Em thì mới đi làm, mấy đời kế toán trước là bê bết hết cả, trong tay em chỉ có số công nợ cuối cùng được xác nhận và danh sách đơn hàng, nên em đang làm ngược trở lại, lấy số công nợ cuối suy ngược ra những đơn hàng nào chưa trả tiền và suy ra công nợ quá hạn
Cơ mà file của bác thành nhân 62 em nhấn vào thì bị lỗi ko down được ạ sad
Bác re-up cho em với, em cám ơn sad
Chữ ký của bonv2b bonv2b,gia nhập Thủ Thuật Access từ 09-07 -15.
Reply
Những người đã cảm ơn
#7
(17-07-15, 09:50 PM)bonv2b Đã viết: Kaka, cám ơn các bác. Em thì mới đi làm, mấy đời kế toán trước là bê bết hết cả, trong tay em chỉ có số công nợ cuối cùng được xác nhận và danh sách đơn hàng, nên em đang làm ngược trở lại, lấy số công nợ cuối suy ngược ra những đơn hàng nào chưa trả tiền và suy ra công nợ quá hạn
Cơ mà file của bác thành nhân 62 em nhấn vào thì bị lỗi ko down được ạ sad
Bác re-up cho em với, em cám ơn sad

Không hiểu sau nó bị lỗi. Mình đã xử lý lại
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn bonv2b


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Lọc query có điều kiện để tạo report honglv157 3 156 01-12-16, 05:15 PM
Bài mới nhất: maidinhdan
  [Help] Xin giúp đỡ về sử dụng hàm Dlookup với nhiều điều kiện dangh5 1 73 30-11-16, 10:44 PM
Bài mới nhất: dangh5
  [Help] ẩn nút ""Close Windown" khi mở query tronghieu9792 4 85 30-11-16, 09:36 PM
Bài mới nhất: tronghieu9792
Question [Help] Cần giúp đỡ tạo query lấy giá trị của dòng liền trước để tính giá trị trung bình luonguct 4 89 23-11-16, 12:33 AM
Bài mới nhất: luonguct
  Hướng Dẫn hướng dẫn làm query tieuho828 6 148 21-11-16, 12:36 AM
Bài mới nhất: toancvp

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ