conmeo > 23-09-19, 11:01 AM
Noname > 23-09-19, 11:52 AM
Private Sub TXTSKU_AfterUpdate()
If IsNull(DLookup("[MANCC]", "DMHH_temp", "[mahang] = '" & TXTSKU.Value & "'")) Then
MsgBox "Ma Hang khong thuoc " & Me.MANCC
End If
End Sub
conmeo > 23-09-19, 12:05 PM
(23-09-19, 11:52 AM)Noname Đã viết: Mình không hiểu ý nghĩa của câu "nếu thuộc nhà cung cấp thì lấy record đó, là lấy vào đâu, làm gì.
Kiểm tra mã hàng thì trong sự kiện after update của TXTSKU khai báo như sau
Mã PHP:Private Sub TXTSKU_AfterUpdate()
If IsNull(DLookup("[MANCC]", "DMHH_temp", "[mahang] = '" & TXTSKU.Value & "'")) Then
MsgBox "Ma Hang khong thuoc " & Me.MANCC
End If
End Sub
Noname > 23-09-19, 12:22 PM
conmeo > 23-09-19, 12:46 PM
(23-09-19, 12:22 PM)Noname Đã viết: Access đã hỗ trợ ta lọc trong subform theo master form:
Bạn cứ tạo subform dựa trên table DMHH_temp, kéo vào form chính và khai báo:
Link master field:bomancc;TXTSKU
Link child field: MANCC;mahang
Xem file
https://www.dropbox.com/s/owdiqopt6p3yfs...c.rar?dl=0
Noname > 23-09-19, 03:28 PM
SELECT DMHH_temp.MANCC, DMHH_temp.mahang, DMHH_temp.TENHANG
FROM DMHH_temp
WHERE (((DMHH_temp.MANCC)=[Forms]![MAIN]![cbomancc]) AND ((DMHH_temp.mahang)=[Forms]![MAIN]![TXTSKU]));
ongke0711 > 23-09-19, 09:38 PM
(23-09-19, 11:01 AM)conmeo Đã viết: Kính nhờ anh chị giúp trường hợp này:
Em có :
table: DMHH_temp(MANCC,MANHANG,TENHANG)
Trên form :khi chọn một combobox mã nhà cung cấp sau đó xuống textbox gõ mã hàng.Nếu mã hàng thuộc nhà cung cấp thì lấy 1 record đó,ngược lại sẽ thông báo" Mã hàng này không thuộc nhà cung cấp: cbomancc"
HoangHoa > 23-09-19, 09:51 PM
conmeo > 23-09-19, 09:55 PM
(23-09-19, 09:38 PM)ongke0711 Đã viết:Cảm ơn anh Ông Kẹ.(23-09-19, 11:01 AM)conmeo Đã viết: Kính nhờ anh chị giúp trường hợp này:
Em có :
table: DMHH_temp(MANCC,MANHANG,TENHANG)
Trên form :khi chọn một combobox mã nhà cung cấp sau đó xuống textbox gõ mã hàng.Nếu mã hàng thuộc nhà cung cấp thì lấy 1 record đó,ngược lại sẽ thông báo" Mã hàng này không thuộc nhà cung cấp: cbomancc"
Các code của bác Noname chỉ là giải tạm thời theo yêu cầu của bạn thôi. Bạn cần phải sửa CSDL lại để chuẩn hoá và đúng đắn.
Bạn chỉ đưa lên có một table Temp, không biết còn có các table khác liên quan mà bạn chưa đưa lên không?
Theo bài toán của bạn nên dùng kiểu "Cascading Combobox", tức là Row Source của combobox thứ 2 sẽ được lọc dựa trên điều kiện giá trị được chọn của combobox thứ 1.
Để làm được điều này thì CSDL phải tổ chức lại cho hợp lý.
- Table danh mục hàng hoá phải có thêm cột [NCC]
Vd:
ID MaHang TenHang Dvt MaNCC GhiChu
---------------------------------------------------------------------------------
1 3000062 Mì ly Ly 10060
2 3755555 Mì gói Gói 10010
...
- Row Source của combobox NCC (cboNCC): "SELECT * FROM tblNCC"
- Row Source của combobox Mã hàng (cboMaHang): "SELECT * FROM tblDanhMucHH WHERE MaNCC = " & Me.cboNCC & "'"
Khi đó bạn chọn combobox NCC thì Combobox Mã hàng sẽ tự động cập nhật các mã hàng thuôc NCC đã chọn thôi, không cần phải hiện thông báo chi cho mất thời gian của người nhập liệu.
Nói chung là còn mấy code xử lý linh tinh nữa nhé.