honda

New Member
Mình có 1 forms nhập kho, xuất kho, thu, chi. mình muốn số chứng từ tăng theo tháng năm tương ứng với ngày hoạch toán trong tháng, mình có thảm tiềmo 1 số code nhưng đều tăng dần chứ bất theo tháng năm. Mình ví dụng : ngày tháng năm hoạch toán : 10/08/2009, thì tháng hiện tại là tháng 9. nếu khi nhấn nút thêm trên form nhập kho, xác định tháng hiện tại là tháng 8, thì dò trong csdl nếu trong tháng 8 chưa có số CT thì gán số CT =1 và nếu có thì cứ cho số CT tăng lên theo thứ tự số vừa có. và như thế khi đến tháng 9 thì số CT này bắt đầu quay lại từ đầu.ví dụ : SoCT : 001, ngayHT : 01/08/09 002 ngayHT : 10/08/09 001 ngayHT : 02/09/09 002 ngayHT : 30/09/09
 

Basilio

New Member
Trích: Nguyên văn bởi xiketuan Mình có 1 forms nhập kho, xuất kho, thu, chi. mình muốn số chứng từ tăng theo tháng năm tương ứng với ngày hoạch toán trong tháng, mình có thảm tiềmo 1 số code nhưng đều tăng dần chứ bất theo tháng năm.

Mình ví dụng : ngày tháng năm hoạch toán : 10/08/2009, thì tháng hiện tại là tháng 9. nếu khi nhấn nút thêm trên form nhập kho, xác định tháng hiện tại là tháng 8, thì dò trong csdl nếu trong tháng 8 chưa có số CT thì gán số CT =1 và nếu có thì cứ cho số CT tăng lên theo thứ tự số vừa có. và như thế khi đến tháng 9 thì số CT này bắt đầu quay lại từ đầu.

ví dụ :
SoCT : 001, ngayHT : 01/08/09
002 ngayHT : 10/08/09
001 ngayHT : 02/09/09
002 ngayHT : 30/09/09 Chú xìke nói ví dụ khó hiểu quá
Nói đơn giản là nếu chứng từ phát sinh trong tháng thì tăng tự động, qua tháng tính lại từ đầu, đúng không?

Ở đây chỉ "an toàn" khi chạy đơn thôi nhé. Còn chạy dùng chung thì khác rồi.

Làm cái After_Update của ngày hạch toán, cho nó một đoạn:

Dim so

so = DMax("SOCT", "table", "Year(ngayhachtoan) = " & Year(Date()) & " AND Month(ngayhachtoan) = " & Month(Date()))

If Nz(so, 0) = 0 Then
soct = "0001"
Else
soct = Right("000" & CInt(so) + 1, 4)
End If
 

Các chủ đề có liên quan khác

Top