dinh_trong_hoa > 10-12-13, 09:55 AM
quan_pc > 12-12-13, 12:29 AM
(10-12-13, 09:55 AM)dinh_trong_hoa Đã viết: Chào mọi người !
Mình có một form sub, "ma_sp" là khoá chính, mình muốn thay thế thông báo lỗi "trùng khoá chính" mặc định là tiếng Anh bằng tiếng Việt. Hiện mình đang dùng sự kiện Form_Error, nhưng nó chỉ hiệu quả với main form, còn sub form thì không ăn nhậu gì cả, nhờ các bạn chỉ dẫn thêm.
Thanks
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Response = acDataErrContinue
If DataErr = 3022 Then
MsgBox "Trung khoa chinh", vbInformation, "Thong Bao"
End If
End Sub
dinh_trong_hoa > 12-12-13, 10:14 AM
(12-12-13, 12:29 AM)quan_pc Đã viết:(10-12-13, 09:55 AM)dinh_trong_hoa Đã viết: Chào mọi người !
Mình có một form sub, "ma_sp" là khoá chính, mình muốn thay thế thông báo lỗi "trùng khoá chính" mặc định là tiếng Anh bằng tiếng Việt. Hiện mình đang dùng sự kiện Form_Error, nhưng nó chỉ hiệu quả với main form, còn sub form thì không ăn nhậu gì cả, nhờ các bạn chỉ dẫn thêm.
Thanks
Bạn thêm đoạn code sau vào sự kiện On Error của subform là được. nhớ là subform chứ ko phải form nhé.[/code]
Mã:Private Sub Form_Error(DataErr As Integer, Response As Integer)
Response = acDataErrContinue
If DataErr = 3022 Then
MsgBox "Trung khoa chinh", vbInformation, "Thong Bao"
End If
End Sub
Xuân Thanh > 12-12-13, 10:46 AM
dinh_trong_hoa > 12-12-13, 02:30 PM
(12-12-13, 10:46 AM)Xuân Thanh Đã viết: Đếm cái masp đó trên subform, nếu kết quả = 1 thì thông báo trùng khóa chính
Chú ý dòng chữ in đậm màu đỏ
Thân mến
Xuân Thanh > 12-12-13, 03:18 PM
Private Sub MaSP_AfterUpdate()
If DCount("[MaSP]","tblPhieuChitiet","[MaSP] = '" & Forms!frmPhieuNhap!txtMaSP & "' And [SoPhieu] = '" & Forms!frmPhieuNhap!SoPhieu & "'") = 1 Then
MsgBox "Trung Ma" , , "Chu y"
MaSP.SetFocus
Exit Sub
End If
End Sub
dinh_trong_hoa > 12-12-13, 04:33 PM
(12-12-13, 03:18 PM)Xuân Thanh Đã viết: 1/ Cái masp đó liên quan tới nhiều thứ kèm theo, không có CSDL không thể hướng dẫn cho bạn chi tiết được
2/ Một trường hợp cụ thể để bạn tham khảo : Trường hợp nhập
MainForm sử dụng RecordSource là tblPhieuNhap, SubForm sử dụng RecordSource là tblNhapChiTiet. Main và Sub link qua trường SoPhieu
Mã:Private Sub MaSP_AfterUpdate()
If DCount("[MaSP]","tblPhieuChitiet","[MaSP] = '" & Forms!frmPhieuNhap!txtMaSP & "' And [SoPhieu] = '" & Forms!frmPhieuNhap!SoPhieu & "'") = 1 Then
MsgBox "Trung Ma" , , "Chu y"
MaSP.SetFocus
Exit Sub
End If
End Sub
txtMaSP = TenSubForm.Form.MaSP
Bạn vận dụng cho phù hợp
Thân mến