maidinhdan > 01-03-15, 12:59 AM
SELECT QryTonDau.MaThuoc, QryTonDau.TenThuoc, QryTonDau.HamLuong, QryTonDau.DVT, QryTonDau.DonGia,
Sum(NZ([TonCu])) AS Cu, Sum(NZ([TongNhap])) AS Nhap, Sum(NZ([TongXuat])) AS Xuat
FROM (QryTonDau LEFT JOIN QryTongNhap ON QryTonDau.MaThuoc = QryTongNhap.MaThuoc) LEFT JOIN QryTongXuat ON
QryTonDau.MaThuoc = QryTongXuat.MaThuoc
GROUP BY QryTonDau.MaThuoc, QryTonDau.TenThuoc, QryTonDau.HamLuong, QryTonDau.DVT, QryTonDau.DonGia;
Xuân Thanh > 11-03-15, 05:18 PM
maidinhdan > 11-03-15, 11:43 PM
(11-03-15, 05:18 PM)Xuân Thanh Đã viết: Hôm nay mới xem bài viết của maidinhdan. Trước hết rất cám ơn bạn đã có bài hướng dẫn tỷ mỉ bằng hình vẽ sinh động. Xin có đôi lời góp ý thêm
1/ Cách tính của bạn nó không linh động cho người dùng
2/ Do bạn không sử dụng hàm NZ và hàm Sum để khử giá trị Null nên trong qryNhapXuat bị lỗi các giá trị Null này. Bạn sửa lại đôi chút là OK
3/ Có thể không cần dùng đến 5 qry như bạn đã trình bày đâu. Bạn thử nghiên cứu xem sao nhé
Thân mến
Xuân Thanh
morzer > 26-03-15, 06:24 PM
maidinhdan > 26-03-15, 10:44 PM
(26-03-15, 06:24 PM)morzer Đã viết: bài của bạn thì quản lý trên 1 của hàng hay 1 kho. bạn có thể giúp mình xử lý trên nhiều kho VD như:
- Mình có 3 kho (Kho A, Kho B, Kho C) chứa nhìu mặt hàng với số lương khác nhau
- Khi mình vào phiếu xuất thì chọn Kho A là nới xuất, Kho B là nơi nhập, rồi mình chọn sản phẩm cần xuất với số lượng cần xuất ( phần này là Sub Form rồi, con Main Form là phiếu xuất)
-Ván đề của mình là:, sau khi nhập như trên thì hệ thống sẽ tự Cộng số lượng sản phẩm vào Kho B, và trừ số lượng sản phẩm đó vào Kho A
viết bằng VBA hay macro hay Query gì cũng được
maidinhdan > 26-03-15, 11:39 PM
(11-03-15, 05:18 PM)Xuân Thanh Đã viết: Hôm nay mới xem bài viết của maidinhdan. Trước hết rất cám ơn bạn đã có bài hướng dẫn tỷ mỉ bằng hình vẽ sinh động. Xin có đôi lời góp ý thêm
1/ Cách tính của bạn nó không linh động cho người dùng
2/ Do bạn không sử dụng hàm NZ và hàm Sum để khử giá trị Null nên trong qryNhapXuat bị lỗi các giá trị Null này. Bạn sửa lại đôi chút là OK
3/ Có thể không cần dùng đến 5 qry như bạn đã trình bày đâu. Bạn thử nghiên cứu xem sao nhé
Thân mến
Xuân Thanh
morzer > 26-03-15, 11:52 PM
(26-03-15, 10:44 PM)maidinhdan Đã viết:(26-03-15, 06:24 PM)morzer Đã viết: bài của bạn thì quản lý trên 1 của hàng hay 1 kho. bạn có thể giúp mình xử lý trên nhiều kho VD như:
- Mình có 3 kho (Kho A, Kho B, Kho C) chứa nhìu mặt hàng với số lương khác nhau
- Khi mình vào phiếu xuất thì chọn Kho A là nới xuất, Kho B là nơi nhập, rồi mình chọn sản phẩm cần xuất với số lượng cần xuất ( phần này là Sub Form rồi, con Main Form là phiếu xuất)
-Ván đề của mình là:, sau khi nhập như trên thì hệ thống sẽ tự Cộng số lượng sản phẩm vào Kho B, và trừ số lượng sản phẩm đó vào Kho A
viết bằng VBA hay macro hay Query gì cũng được
Bạn morzer thân mến ! Đối với câu hỏi trên mình xin trả lời một số điểm như sau:
* Dù bạn có hơn 3 kho hay 10, 20 kho bạn vẫn sử dụng demo trên chỉ với 2 table xuất - nhập. Xin giải trình cụ thể như sau:
- Bước 1: Bạn tạo thêm table Mã kho gồm các trường: [Makho(Khóa chính)],[TenKho] ( ở đây bạn nạp 100 kho hàng cũng được)
- Bước 2: tại table Xuất và table nhập tạo thêm trường: [Makho]
- Bước 3: Nối quan hệ giữa bước 1 và 2
- Cuối cùng khi bạn xuất mặt hàng + số lượng: chỉ việc chọn thêm từ kho xuất-nhập là ok.
Bạn nhớ rằng mục đích cuối cùng của ta là tính tổng Xuất, Tổng nhập, Tổng Tồn. Vì thế bạn đừng làm phát sinh nhiều table làm cho Data của mình phình to rất kho quản lý và rất nhọc nhằng phải nhập liệu rất nhiều nơi. ( Mình cũng từng chia sẽ một bài về kinh nghiệm thiết kế table: có đoạn, càng ít table càng tốt...)
**Nếu bạn có ý định tính Tổng tồn, Tổng nhập, Tổng xuất theo từng kho A, Kho B, Kho C thì làm tiếp với phần hướng dẫn trên tạm bắt đầu là bước 4 nhé.
Bước 4: Xem Demo đầu tiên của mình bắt đầu từ: Tạo Query thứ 2 Chọn table [DMNHAPKHO]
- Ở đây bạn chọn thêm Mã kho: và đặt điều kiện lấy từ Textbox trên form cho dể mình cho tên nó là txtMK
Bước 5: Tạo Query thứ 3 Chọn table [DMXUATKHO]:
- Cũng chọn thêm Mã kho: và đặt điều kiện lấy từ txtMK
Lúc này bạn làm tiếp hướng dẫn: y như demo Tạo Query thứ 4, thứ 5
Đến đây là đã thành công.
Khi bạn muốn kiểm tra kho A: bạn nhập vào txtMK là A rồi cho mở Query thứ 5 là sẽ có Tổng tồn, Tổng nhập, Tổng xuất của kho A.
Khi bạn muốn kiểm tra kho B: bạn nhập vào txtMK là B rồi cho mở Query thứ 5 là sẽ có Tổng tồn, Tổng nhập, Tổng xuất của kho B.
.......
*** Nếu bạn muốn lấy Kho A là xuất, Kho B lập nhập trừ nhau: Chỉ việc thay đổi điều kiện tại bước 4 và bước 5
Bước 4: chọn txtMk="KhoB"
Bước 5: chọn txtMk="khoA"
**** Kết luận: muốn lấy kho nào trừ nhau chỉ việc căn cứ bước 4, bước 5 mà tính
Đó là những gì mình muốn chia sẽ. Bạn làm theo ý kiến này ứng dụng bạn sẽ linh hoạt hơn.
Nếu còn trở ngại. xin được thảo luận tiếp cùng bạn.
Thân ái.
maidinhdan > 26-03-15, 11:57 PM
morzer > 27-03-15, 12:31 AM
(26-03-15, 11:57 PM)maidinhdan Đã viết:(26-03-15, 11:52 PM)morzer Đã viết: tạm thời mình lấy demo của bạn làm thử cái add kho nhé, mình đã add vào mà tính thì k hiện ra, mình thêm điều kiện rồi, ma khi nhập mã kho thì k ra
Làm cho xong đi, rồi gặp lỗi thì post file lên chứ đến giờ mớ nhớ là từng hướng dẫn cho ông rồi đấy.
Hihi...
maidinhdan > 27-03-15, 12:42 AM
(27-03-15, 12:31 AM)morzer Đã viết: mình hiểu ý bạn rồi, nhưng mình làm tới Qry4-Qry5 nó k add makho vào được, và khi chay Qry2 và Qry3 thì khi nhập mã kho nó hiện k chính xác,
mình mượn tạm cái demo của bạn để chạy thử,
http://www.mediafire.com/download/rdy3x4...2-2003.mdb