Xuân Thanh > 17-04-12, 01:36 PM
Xuân Thanh > 17-04-12, 02:00 PM
SELECT tblNhapHang.NgayLap, tblNhapHangChiTiet.MaHang, tblNhapHangChiTiet.SoLuong AS SoLuongNhap, 0 AS SoLuongXuat FROM tblNhapHang INNER JOIN tblNhapHangChiTiet ON tblNhapHang.MaSoNhap = tblNhapHangChiTiet.MaSoNhap;
UNION ALL SELECT tblXuatHang.NgayLap, tblXuatHangChiTiet.MaHang, 0 AS SoLuongNhap, tblXuatHangChiTiet.SoLuong AS SoLuongXuat FROM tblXuatHang INNER JOIN tblXuatHangChiTiet ON tblXuatHang.MaSoXuat = tblXuatHangChiTiet.MaSoXuat;
SELECT qryNhapXuat.MaHang, qryNhapXuat.SoLuongNhap AS Nhap, qryNhapXuat.SoLuongXuat AS Xuat FROM qryNhapXuat WHERE (((qryNhapXuat.NgayLap)<[TuNgay]));
SELECT qryTruoc.MaHang, Sum(qryTruoc.Nhap) AS SoLuongNhap, Sum(qryTruoc.Xuat) AS SoLuongXuat, [SoLuongNhap]-[SoLuongXuat] AS TonDau FROM qryTruoc GROUP BY qryTruoc.MaHang;
SELECT qryNhapXuat.MaHang, qryNhapXuat.SoLuongNhap AS Nhap, qryNhapXuat.SoLuongXuat AS Xuat, qryNhapXuat.NgayLap FROM qryNhapXuat WHERE (((qryNhapXuat.NgayLap) Between [TuNgay] And [DenNgay]));
SELECT tblHangHoa.MaHang, tblHangHoa.TenHang, IIf([TonDau]>0,[TonDau],0) AS TonDauKy, Sum(NZ([Nhap])) AS TongNhap, Sum(NZ([Xuat])) AS TongXuat, [TonDauKy]+[TongNhap]-[TongXuat] AS TonCuoi FROM (tblHangHoa LEFT JOIN qryTrong ON tblHangHoa.MaHang = qryTrong.MaHang) LEFT JOIN qryTonDau ON tblHangHoa.MaHang = qryTonDau.MaHang GROUP BY tblHangHoa.MaHang, tblHangHoa.TenHang, IIf([TonDau]>0,[TonDau],0);
Xuân Thanh > 17-04-12, 02:14 PM
SELECT tblHangHoa.MaHang, tblHangHoa.TenHang, NZ([TonDau]) AS Ton, qryTrong.NgayLap, IIf([Nhap]>0,[Nhap],0) AS NhapTK, IIf([Xuat]>0,[Xuat],0) AS XuatTK FROM (tblHangHoa LEFT JOIN qryTonDau ON tblHangHoa.MaHang = qryTonDau.MaHang) LEFT JOIN qryTrong ON tblHangHoa.MaHang = qryTrong.MaHang WHERE (((tblHangHoa.MaHang)=[HangNao])) ORDER BY qryTrong.NgayLap;
dtv197 > 17-04-12, 09:38 PM
Xuân Thanh > 17-04-12, 10:44 PM
DELETE tblTonKho.TonDauKy, tblTonKho.TongNhap, tblTonKho.TongXuat FROM tblTonKho WHERE (((tblTonKho.TonDauKy)=0) AND ((tblTonKho.TongNhap)=0) AND ((tblTonKho.TongXuat)=0));
Greenlov3 > 18-04-12, 05:45 PM
(17-04-12, 02:00 PM)Xuân Thanh Đã viết: Để có báo cáo Tồn Kho, ta chỉ cần sử dụng 5 query sau đây
1/ qryNhapXuat : Tính số lượng nhập xuất hàng hóa
Mã:SELECT tblNhapHang.NgayLap, tblNhapHangChiTiet.MaHang, tblNhapHangChiTiet.SoLuong AS SoLuongNhap, 0 AS SoLuongXuat FROM tblNhapHang INNER JOIN tblNhapHangChiTiet ON tblNhapHang.MaSoNhap = tblNhapHangChiTiet.MaSoNhap;
UNION SELECT tblXuatHang.NgayLap, tblXuatHangChiTiet.MaHang, 0 AS SoLuongNhap, tblXuatHangChiTiet.SoLuong AS SoLuongXuat FROM tblXuatHang INNER JOIN tblXuatHangChiTiet ON tblXuatHang.MaSoXuat = tblXuatHangChiTiet.MaSoXuat;
2/ qryTruoc : tính số lượng hàng trước ngày chỉ định bất kỳ
Mã:SELECT qryNhapXuat.MaHang, qryNhapXuat.SoLuongNhap AS Nhap, qryNhapXuat.SoLuongXuat AS Xuat FROM qryNhapXuat WHERE (((qryNhapXuat.NgayLap)<[TuNgay]));
3/ qryTonDau : Tính tổng số lượng tồn của các mạt hàng trước ngày chỉ định bất kỳ
Mã:SELECT qryTruoc.MaHang, Sum(qryTruoc.Nhap) AS SoLuongNhap, Sum(qryTruoc.Xuat) AS SoLuongXuat, [SoLuongNhap]-[SoLuongXuat] AS TonDau FROM qryTruoc GROUP BY qryTruoc.MaHang;
4/ qryTrong : Tính tổng lượng nhập xuất của các mặt hàng theo thời điểm cho trước(từ ngay đến ngày)
Mã:SELECT qryNhapXuat.MaHang, qryNhapXuat.SoLuongNhap AS Nhap, qryNhapXuat.SoLuongXuat AS Xuat, qryNhapXuat.NgayLap FROM qryNhapXuat WHERE (((qryNhapXuat.NgayLap) Between [TuNgay] And [DenNgay]));
5/ qryTonCuoi : Xác định tồn kho của tất cả các mạt hàng
Mã:SELECT tblHangHoa.MaHang, tblHangHoa.TenHang, IIf([TonDau]>0,[TonDau],0) AS TonDauKy, Sum(NZ([Nhap])) AS TongNhap, Sum(NZ([Xuat])) AS TongXuat, [TonDauKy]+[TongNhap]-[TongXuat] AS TonCuoi FROM (tblHangHoa LEFT JOIN qryTrong ON tblHangHoa.MaHang = qryTrong.MaHang) LEFT JOIN qryTonDau ON tblHangHoa.MaHang = qryTonDau.MaHang GROUP BY tblHangHoa.MaHang, tblHangHoa.TenHang, IIf([TonDau]>0,[TonDau],0);
Như vậy là ta đã tính được tồn kho của tất cả các mặt hàng chỉ thông qua 5 query đơn giản. Lưu ý query thứ nhất, qryNhapXuat là một Union query, qry thứ 5 cách JOIN các tabble, query trong lưới query. Các bạn tự nghiên cứu nhé
Thân mến
Noname > 18-04-12, 07:13 PM
(18-04-12, 05:45 PM)Greenlov3 Đã viết: cái query 1 ma anh nói : em lap len co van de` 1 chut anh ah`
đó la` ngày lap của tlbHangXuat Và tlnHangNhap nó cứ dan chéo nhau với SoLuong
anh có thể làm thử file mẫu acc dc ko ạ
em làm theo mà không ra
Greenlov3 > 19-04-12, 01:23 AM
(18-04-12, 07:13 PM)Noname Đã viết:hinh cua em day!(18-04-12, 05:45 PM)Greenlov3 Đã viết: cái query 1 ma anh nói : em lap len co van de` 1 chut anh ah`
đó la` ngày lap của tlbHangXuat Và tlnHangNhap nó cứ dan chéo nhau với SoLuong
anh có thể làm thử file mẫu acc dc ko ạ
em làm theo mà không ra
Vậy file của bạn đâu? Hình chụp của bạn cho rõ một chút!
Noname > 19-04-12, 09:10 AM
(19-04-12, 01:23 AM)Greenlov3 Đã viết:Nhìn không thấy gì cả bạn ạ! Bạn up file lên luôn nào, nhớ convert sang Access 2003 nhé! Trên này ít người dùng 2010 lắm(18-04-12, 07:13 PM)Noname Đã viết:hinh cua em day!(18-04-12, 05:45 PM)Greenlov3 Đã viết: cái query 1 ma anh nói : em lap len co van de` 1 chut anh ah`
đó la` ngày lap của tlbHangXuat Và tlnHangNhap nó cứ dan chéo nhau với SoLuong
anh có thể làm thử file mẫu acc dc ko ạ
em làm theo mà không ra
Vậy file của bạn đâu? Hình chụp của bạn cho rõ một chút!
Greenlov3 > 19-04-12, 12:10 PM
(19-04-12, 09:10 AM)Noname Đã viết:(19-04-12, 01:23 AM)Greenlov3 Đã viết:Nhìn không thấy gì cả bạn ạ! Bạn up file lên luôn nào, nhớ convert sang Access 2003 nhé! Trên này ít người dùng 2010 lắm(18-04-12, 07:13 PM)Noname Đã viết:hinh cua em day!(18-04-12, 05:45 PM)Greenlov3 Đã viết: cái query 1 ma anh nói : em lap len co van de` 1 chut anh ah`
đó la` ngày lap của tlbHangXuat Và tlnHangNhap nó cứ dan chéo nhau với SoLuong
anh có thể làm thử file mẫu acc dc ko ạ
em làm theo mà không ra
Vậy file của bạn đâu? Hình chụp của bạn cho rõ một chút!