Popeye > 27-07-18, 05:00 PM
Xuân Thanh > 27-07-18, 07:01 PM
Xuân Thanh > 27-07-18, 07:29 PM
SELECT AIOKho.MaHang, Sum(IIf([SLNhap]>0,[SLNhap],0)) AS TongNhap, Sum(IIf([SLBan]>0,[SLBan],0)) AS TongXuat, [TongNhap]-[TongXuat] AS TonKho
FROM (AIOKho LEFT JOIN AIOHoadonchitiet ON AIOKho.MaHang = AIOHoadonchitiet.MaHang) LEFT JOIN AIOPhieunhapchitiet ON AIOKho.MaHang = AIOPhieunhapchitiet.MaHang
GROUP BY AIOKho.MaHang;
Popeye > 28-07-18, 09:56 AM
(27-07-18, 07:29 PM)Xuân Thanh Đã viết: Mới xem qua file của bạn
1/ Xem lại cách đặt tên mã hàng hóa,nên viết liền nhau không có khoảng trắng ở giữa. Vụ nhân đôi số lượng có thể là do cái này
2/ Bỏ cái PrimariKey MaHang va MaPN,MaPX ơ 2 table nhập, xuất chi tiết vì đây chỉ là khóa phụ
Sau khi bỏ hết thì query Tonkho của bạn như sau
Mã PHP:SELECT AIOKho.MaHang, Sum(IIf([SLNhap]>0,[SLNhap],0)) AS TongNhap, Sum(IIf([SLBan]>0,[SLBan],0)) AS TongXuat, [TongNhap]-[TongXuat] AS TonKho
FROM (AIOKho LEFT JOIN AIOHoadonchitiet ON AIOKho.MaHang = AIOHoadonchitiet.MaHang) LEFT JOIN AIOPhieunhapchitiet ON AIOKho.MaHang = AIOPhieunhapchitiet.MaHang
GROUP BY AIOKho.MaHang;
Nói thêm nếu làm như bạn sẽ không tính được tồn kho theo ngày. Tham khảo theo dường dẫn trên
Thân mến
Xuân Thanh > 28-07-18, 10:09 AM
(28-07-18, 09:56 AM)Popeye Đã viết:(27-07-18, 07:29 PM)Xuân Thanh Đã viết: Mới xem qua file của bạn
1/ Xem lại cách đặt tên mã hàng hóa,nên viết liền nhau không có khoảng trắng ở giữa. Vụ nhân đôi số lượng có thể là do cái này
2/ Bỏ cái PrimariKey MaHang va MaPN,MaPX ơ 2 table nhập, xuất chi tiết vì đây chỉ là khóa phụ
Sau khi bỏ hết thì query Tonkho của bạn như sau
Mã PHP:SELECT AIOKho.MaHang, Sum(IIf([SLNhap]>0,[SLNhap],0)) AS TongNhap, Sum(IIf([SLBan]>0,[SLBan],0)) AS TongXuat, [TongNhap]-[TongXuat] AS TonKho
FROM (AIOKho LEFT JOIN AIOHoadonchitiet ON AIOKho.MaHang = AIOHoadonchitiet.MaHang) LEFT JOIN AIOPhieunhapchitiet ON AIOKho.MaHang = AIOPhieunhapchitiet.MaHang
GROUP BY AIOKho.MaHang;
Nói thêm nếu làm như bạn sẽ không tính được tồn kho theo ngày. Tham khảo theo dường dẫn trên
Thân mến
Chào Xuân Thanh !
Mình rất vui và cám ơn khi được Xuân Thanh và mọi người xem qua vấn đề và đã hướng cho mình 1 số cách xử lý.
Mình xin được trả lời lại sau khi đã thử cách của Xuân Thanh hướng tới cách giải quyết vấn đề ở trên như sau:
1/ Bảng mã hàng: bảng mã này là bảng mã sản phẩm thực nên ko sửa được ý :
2/ MÌnh có bỏ " Khóa chính " MaHang ở Chitietphieunhap và chitietphieu xuất như Xuân Thanh có hướng dẫn.
Sau khi tạo liên kết lại giữa các bảng xong. thì mình có gặp thêm 1 vấn đề đó là: khi nhâp hóa đơn, hay hóa đơn chi tiết. ko thể thêm sản phẩm thứ 2 vào đc
( có nghĩa là, mình chỉ cho thêm đc 1 sản phẩm/ hóa đơn.
Popeye > 28-07-18, 10:42 AM
(28-07-18, 10:09 AM)Xuân Thanh Đã viết:(28-07-18, 09:56 AM)Popeye Đã viết:(27-07-18, 07:29 PM)Xuân Thanh Đã viết: Mới xem qua file của bạn
1/ Xem lại cách đặt tên mã hàng hóa,nên viết liền nhau không có khoảng trắng ở giữa. Vụ nhân đôi số lượng có thể là do cái này
2/ Bỏ cái PrimariKey MaHang va MaPN,MaPX ơ 2 table nhập, xuất chi tiết vì đây chỉ là khóa phụ
Sau khi bỏ hết thì query Tonkho của bạn như sau
Mã PHP:SELECT AIOKho.MaHang, Sum(IIf([SLNhap]>0,[SLNhap],0)) AS TongNhap, Sum(IIf([SLBan]>0,[SLBan],0)) AS TongXuat, [TongNhap]-[TongXuat] AS TonKho
FROM (AIOKho LEFT JOIN AIOHoadonchitiet ON AIOKho.MaHang = AIOHoadonchitiet.MaHang) LEFT JOIN AIOPhieunhapchitiet ON AIOKho.MaHang = AIOPhieunhapchitiet.MaHang
GROUP BY AIOKho.MaHang;
Nói thêm nếu làm như bạn sẽ không tính được tồn kho theo ngày. Tham khảo theo dường dẫn trên
Thân mến
Chào Xuân Thanh !
Mình rất vui và cám ơn khi được Xuân Thanh và mọi người xem qua vấn đề và đã hướng cho mình 1 số cách xử lý.
Mình xin được trả lời lại sau khi đã thử cách của Xuân Thanh hướng tới cách giải quyết vấn đề ở trên như sau:
1/ Bảng mã hàng: bảng mã này là bảng mã sản phẩm thực nên ko sửa được ý :
2/ MÌnh có bỏ " Khóa chính " MaHang ở Chitietphieunhap và chitietphieu xuất như Xuân Thanh có hướng dẫn.
Sau khi tạo liên kết lại giữa các bảng xong. thì mình có gặp thêm 1 vấn đề đó là: khi nhâp hóa đơn, hay hóa đơn chi tiết. ko thể thêm sản phẩm thứ 2 vào đc
( có nghĩa là, mình chỉ cho thêm đc 1 sản phẩm/ hóa đơn.
1/ Làm theo cái chữ màu đỏ chưa? Chuyển từ Yes thành No dạng một ông có nhiều bà. Cũng là Bà Chủ nhưng ai đến trước thì xếp trước, ai đên sau thì xếp sau
2/ Chuyển từ khoảng trắng sang dấu gạch nối được không? Chứ dể khoảng trắng trong các Mã Hàng thì không ổn
Thân mến
Xuân Thanh > 28-07-18, 04:33 PM
SELECT AIOPhieunhapchitiet.MaHang, Sum(AIOPhieunhapchitiet.SLNhap) AS Nhap
FROM AIOPhieunhapchitiet
GROUP BY AIOPhieunhapchitiet.MaHang;
SELECT AIOHoadonchitiet.MaHang, Sum(AIOHoadonchitiet.SLBan) AS Ban
FROM AIOHoadonchitiet
GROUP BY AIOHoadonchitiet.MaHang;
SELECT AIOKho.MaHang, Sum(IIf([Nhap]>0,[Nhap],0)) AS TongNhap, Sum(IIf([Ban]>0,[Ban],0)) AS TongBan, [TongNhap]-[TongBan] AS TonKho
FROM (AIOKho LEFT JOIN qryNhap ON AIOKho.MaHang = qryNhap.MaHang) LEFT JOIN qryBan ON AIOKho.MaHang = qryBan.MaHang
GROUP BY AIOKho.MaHang;
Popeye > 28-07-18, 05:27 PM
(28-07-18, 04:33 PM)Xuân Thanh Đã viết: Bây giờ mới rảnh và xem kỹ lại bài của bạn
1/ Thực hiện bỏ PrimaryKey như hướng dẫn trên
2/ Không phải thay đổi lại Mã Hàng vì MaHang là Text
3/Lập 3 query sau để tính tồn theo kiểu của bạn
3.1/ qryNhap
Mã PHP:SELECT AIOPhieunhapchitiet.MaHang, Sum(AIOPhieunhapchitiet.SLNhap) AS Nhap
FROM AIOPhieunhapchitiet
GROUP BY AIOPhieunhapchitiet.MaHang;
3.2/ qryBan
Mã PHP:SELECT AIOHoadonchitiet.MaHang, Sum(AIOHoadonchitiet.SLBan) AS Ban
FROM AIOHoadonchitiet
GROUP BY AIOHoadonchitiet.MaHang;
3.3/ qryTon
Mã PHP:SELECT AIOKho.MaHang, Sum(IIf([Nhap]>0,[Nhap],0)) AS TongNhap, Sum(IIf([Ban]>0,[Ban],0)) AS TongBan, [TongNhap]-[TongBan] AS TonKho
FROM (AIOKho LEFT JOIN qryNhap ON AIOKho.MaHang = qryNhap.MaHang) LEFT JOIN qryBan ON AIOKho.MaHang = qryBan.MaHang
GROUP BY AIOKho.MaHang;
Popeye > 28-07-18, 05:35 PM
tranthanhan1962 > 28-07-18, 05:39 PM