Tính số tồn còn lại theo mặt hàng và ngày

Liên hệ QC

Đình Phán

Thành viên thường trực
Tham gia
23/11/10
Bài viết
232
Được thích
68
Giới tính
Nam
Nghề nghiệp
kt
Chào các anh, chị.

Hiện em có 3 bảng Đầu kỳ, Phát sinh tăng và Phát sinh giảm.
Tại mỗi bảng sẽ có chi tiết các giao dịch theo ngày.
Nhu cầu cần tìm của em là Dùng số tại bảng Phát sinh giảm để bù cho các giao dịch Đầu kỳ và Phát sinh tăng (kiểu như Nhập trước - Xuất trước đó ạ)
Em đang có 2 phương án
1. Sử dụng ADODB để dùng câu lênh SQL truy vấn ra dữ liệu cần, nhưng câu lệnh SQL khó quá, anh/chị nào rành về SQL giúp em cách này ạ
2. Sử dụng VBA để tính ra kết quả
Chi tiết như file đính kèm

Em cảm ơn.
 

File đính kèm

  • Test.xlsx
    16.2 KB · Đọc: 34
Upvote 0
Cuối cùng thì sự việc cũng đi theo quy luật vốn có của nó.
Từ một câu lệnh SQL khiêm tốn, bi giờ thành cả ,một chu trình b tính toán nhìn vào bắt ớn óc.
Thôi để cho cái chị gì đó xử lý cục gân gà này ra sao. Cchij này vốn thích đít sần, chắc không nhả đâu.

Chú thích: tuy VBA không phải ngôn ngữ hướng đối tượng nhưng dân GPE lại khoái màn này. Nhất là hai tính chất:
1. Tính bảo vệ code: cứ ba bưa lại thấy có người hỏi cách giấu code. :p
2. Tính đa hình: khởi đầu là cái trứng, ba bữa nở ra con sâu, rồi thành cái kén, cuối cùng mới thấy dạng bươm bướm. :D
 
Upvote 0
Chào anh, chị.

Trường hợp nhiều mã có vẻ khó nhằn hơn. Nếu chuyển về 01 mã thôi thì thế nào ạ?
Bản chất mỗi lần tra cứu em cũng chỉ tra cứu 1 mã thôi ạ.
Mấu chốt là thuật toán dùng số tiền ở cột GIAM để bù cho các Số tiền ở cột So_tien rồi trả kết quả ở cột CON LAI
Và:
- Nếu không có gì để bù sẽ trả về giá trị âm của GIAM
- Nếu có để bù, bù hết được cái dòng 1 sẽ bù sang đến dòng tiếp theo (n), nếu bù dòng tiếp theo đó không đủ thì trả về phần còn lại của cái dòng tiếp theo (n). Các dòng bên dưới chưa dùng để bù sẽ giữ nguyên và chuyển số tiền đó sang cột CON LAI

Em cảm ơn!
 
Upvote 0
cảm ơn anh chị, em đã làm được
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom