Chào các bạn, mình đang làm báo cáo thống kê bằng access nhưng có một vấn đề mình làm mãi mà không được, Có ai biết thì hướng dẫn giúp cách tính lũy kế bằng query. Ai có mẫu cho mình tham khảo. Thank’s
VD:
Ngày nhập ------- MaSP ---------- TenSP---------------- Khoiluong--------------Luyke
24/11/2014 ------ 001 ------------ Voi -------------------35000
24/11/2014 ------ 002 ------------Luu huynh------------12000
24/11/2014 ------ 003 ------------Muoi ------------------5000
24/11/2014 ------ 004 ------------Duong ----------------80000
25/11/2014 ------ 001 ------------ Voi -------------------25000 --------------60000
25/11/2014 ------ 002 ------------Luu huynh------------10000----------------22000
25/11/2014 ------ 003 ------------Muoi ------------------4000 ---------------9000
25/11/2014 ------ 004 ------------Duong ----------------70000----------------150000
26/11/2014 ------ 001 ------------ Voi -------------------22000 --------------82000
26/11/2014 ------ 002 ------------Luu huynh------------11000----------------33000
26/11/2014 ------ 003 ------------Muoi ------------------3000 ---------------12000
26/11/2014 ------ 004 ------------Duong ----------------85000----------------235000
- - - Nội dung đã được cập nhật ngày 25-11-2014 lúc 01:33 PM - - -
Sao không có ai hướng dẫn giùm mình vậy nhi?
Mình chỉ có SQL thôi bạn, bạn tham khảo thử.
Mình áp dụng cách thức tương tự của bài toán tính giá điện bậc thang của một tác giả nào đó mình cũng không nhớ rõ nữa.
Code:IF OBJECT_ID('tempdb..#tmpLuyKe') IS NOT NULL DROP TABLE #tmpLuyKe Set dateformat dmy Declare @tmp table (Ngay smalldatetime, MaSP varchar(10), TenSP varchar(100), KhoiLuong decimal, LuyKe decimal) Insert @tmp Select '24/11/2014','001','Voi','35000','0' Insert @tmp Select '24/11/2014','002','LuuHuynh','12000','0' Insert @tmp Select '24/11/2014','003','Muoi','5000','0' Insert @tmp Select '25/11/2014','001','Voi','25000','0' Insert @tmp Select '25/11/2014','002','LuuHuynh','10000','0' Insert @tmp Select '25/11/2014','003','Muoi','4000','0' Insert @tmp Select '26/11/2014','001','Voi','22000','0' Insert @tmp Select '26/11/2014','002','LuuHuynh','11000','0' Insert @tmp Select '26/11/2014','003','Muoi','3000','0' select t2.Ngay, t2.MaSP, t2.TenSP, t2.KhoiLuong , t1.KhoiLuong [OldLuong], t2.LuyKe Into #tmpLuyKe from @tmp t1 left join @tmp t2 on datediff(d, t1.Ngay, t2.Ngay)=1 Where t1.MaSP=T2.MaSP Insert #tmpLuyKe (Ngay, MaSP, TenSP) Select Min(Ngay), MaSP, TenSP From @tmp Group by MaSP, TenSP Update #tmpLuyKe Set KhoiLuong=tmp.KhoiLuong, OldLuong=0 From #tmpLuyKe lk join @tmp tmp on lk.MaSP=tmp.MaSP and lk.Ngay=tmp.Ngay Where lk.Ngay in (select Min (Ngay) From @tmp) Update #tmpLuyKe Set LuyKe=KhoiLuong+OldLuong Select * from #tmpLuyKe order by Ngay, MaSP
Lương Tấn Thi
Phone: 094.394.1568
Mail: luongtanthi@gmail.com
Skype: luongtanthi
Facebook: https://www.facebook.com/luongtanthi