Minh Tiên > 24-11-13, 11:28 AM
Xuân Thanh > 24-11-13, 01:54 PM
(24-11-13, 11:28 AM)tmtien261 Đã viết: Cảm ơn XT và MTNQ nhiều nhé !
1. Hiện trên subform có nguồn tblXuathangban_Chitiet_Tam của mình mỗi mặt hàng chỉ có 1 mà thôi, nên không cần phải sum làm gì (Nếu nhập trùng thì được cộng dồn trong thủ tục After_Update rồi.).
2. Thủ tục Before_Update này mục đích là: Lấy số lượng đang bán ở Subform (Đang nhập) so sánh với số lượng tồn kho (Danh sách hàng hóa) để đưa ra cảnh báo !
Trên subform có thể có nhiều mặt hàng khác nhau nên không thể dùng điều kiện: If rs!Soluongban <= Me.txtSoluongban .. hoặc (If rs!Soluongban <= Form!subform!txtSoluongban ...) được.
Trước đây khi lập trình trực tiếp trên data thì mình dùng code: if Dlookup("[Soluongton]","tblhanghoa","[Mahang]='" & me.cboMahangban & "'") <= Dlookup("[Soluongban]","tblXuathangban_Chitiet_Tam","[Mahang]='" & me.cboMahangban & "'") để so sánh thì chạy OK.
Nhưng nay "mày mò" sang ADODB như bạn "XT" giới thiệu thì mình ko biết cách nào so sánh nên mới có cách so sánh amater như trên.
Ko biết có cách nào ổn định hơn ko, nhờ các ACE chỉ giúp. Cảm ơn nhiều !
Minh Tiên > 24-11-13, 05:35 PM
Minh Tiên > 24-11-13, 06:19 PM
Xuân Thanh > 24-11-13, 07:39 PM
MTNQ > 24-11-13, 08:08 PM
Xuân Thanh > 24-11-13, 08:35 PM
Minh Tiên > 24-11-13, 08:57 PM
MTNQ > 25-11-13, 02:03 AM
Private Sub cboMahangban_AfterUpdate()
DoCmd.GoToControl "[Subform]"
Me![SubForm].[Form]![txtMahang].SetFocus
DoCmd.GoToRecord , , acFirst
If IsNull(Me![SubForm].[Form]![txtMahang]) Then
ThemMahangban
Else
Do Until IsNull(Me![SubForm].[Form]![txtMahang]) = True
If Me![SubForm].[Form]![txtMahang] = Me.cboMahangban.Column(0) Then
if Me![SubForm].[Form]![txtSoluongban] < rs!Soluongton then
Me![SubForm].[Form]![txtSoluongban] = Me![SubForm].[Form]![txtSoluongban] + 1
Else
MsgBox "het hang "
End If
Exit Sub
Else
DoCmd.GoToRecord , , acNext
End If
Loop
DoCmd.GoToRecord , , acNewRec
ThemMahangban
End If
DoCmd.GoToControl "[cboMahangban]"
Me!cboMahangban.SetFocus
End Sub
Sub ThemMahangban()
If Not rs.EOF Then
Me![SubForm].[Form]![txtMahang] = rs.Fields("Mahang")
Me![SubForm].[Form]![txtTenhang] = rs.Fields("Tenhang")
...
Else
MsgBox "ma hang nay chua co"
End If
rs.CLOSE
Set rs = Nothing
.....
End Sub
Minh Tiên > 25-11-13, 11:08 AM