QAT115 > 16-10-20, 09:58 PM
tranthanhan1962 > 16-10-20, 11:17 PM
QAT115 > 18-10-20, 01:53 AM
(16-10-20, 11:17 PM)tranthanhan1962 Đã viết: Private Sub Form_Error(DataErr As Integer, Response As Integer)Chú ơi, con áp dụng trên form Bound thì chạy rất tốt,
Response = acDataErrContinue
Select Case DataErr
Case 3022
MsgBox "trùng mã khách hàng, vui lòng nhập lại", vbOKOnly, "CHÚ Ý!"
End Select
End Sub
QAT115 > 19-10-20, 09:46 AM
ongke0711 > 19-10-20, 10:46 AM
QAT115 > 19-10-20, 11:16 AM
(19-10-20, 10:46 AM)ongke0711 Đã viết: Thay vì bẫy lỗi 3022, bạn dùng Dcount hoặc DLookup mã trong Table trước khi OpenRecodset cũng là một cách.Cháu cũng nghĩ tới phương án ấy nhưng lại nghỉ giả sử có 2 người cùng nhập 1 lúc thì hàm dcount chạy cùng 1 lúc sẽ báo là mã chưa tồn tại trước đó, do vậy cả 2 ng đều có thể nhập cùng 1 mã, cùng 1 lúc
Nếu dùng OpenRecordset thì bạn dùng luôn Rs.FindFirst + Rs.Nomatch để tìm mã trùng.
ongke0711 > 19-10-20, 03:57 PM
(19-10-20, 11:16 AM)QAT115 Đã viết:(19-10-20, 10:46 AM)ongke0711 Đã viết: Thay vì bẫy lỗi 3022, bạn dùng Dcount hoặc DLookup mã trong Table trước khi OpenRecodset cũng là một cách.Cháu cũng nghĩ tới phương án ấy nhưng lại nghỉ giả sử có 2 người cùng nhập 1 lúc thì hàm dcount chạy cùng 1 lúc sẽ báo là mã chưa tồn tại trước đó, do vậy cả 2 ng đều có thể nhập cùng 1 mã, cùng 1 lúc
Nếu dùng OpenRecordset thì bạn dùng luôn Rs.FindFirst + Rs.Nomatch để tìm mã trùng.
Nên cháu bám vào khoa chính của access, và bắt sự kiện đó, vì cháu nghĩ nếu kể cả 2 ng ấn nhập cùng 1 lúc (chính xác từng mili giây)thì access vẫn nhập 1 ng trước, ng sau, và nó sẽ báo trùng cho người nhập sau ạ
tranthanhan1962 > 19-10-20, 09:13 PM
QAT115 > 20-10-20, 12:19 AM
ongke0711 > 20-10-20, 02:13 PM
(19-10-20, 11:16 AM)QAT115 Đã viết: Cháu cũng nghĩ tới phương án ấy nhưng lại nghỉ giả sử có 2 người cùng nhập 1 lúc thì hàm dcount chạy cùng 1 lúc sẽ báo là mã chưa tồn tại trước đó, do vậy cả 2 ng đều có thể nhập cùng 1 mã, cùng 1 lúc
Nên cháu bám vào khoa chính của access, và bắt sự kiện đó, vì cháu nghĩ nếu kể cả 2 ng ấn nhập cùng 1 lúc (chính xác từng mili giây)thì access vẫn nhập 1 ng trước, ng sau, và nó sẽ báo trùng cho người nhập sau ạ