-
Hỏi về bắt lỗi trong accc
thanlaem > 01-09-16, 01:55 PM
Hiện tại em có 1 bài tập yêu cầu bắt lỗi khi nhập dữ liệu vào
không cho phép cấp xăng cho 1 xe 2 lần 1 ngày. bác bào biết giúp em với ạ
-
RE: Hỏi về bắt lỗi trong accc
zinzin8x > 01-09-16, 05:13 PM
if ngaycap.value = true and maxang.value = true and solit.value = true then
msgbox "xe này đã được cấp xăng trong ngày rồi"
end if
Đó, góp bạn chút ý tưởng vậy thôi. tùy biến bạn nhé -
RE: Hỏi về bắt lỗi trong accc
thanlaem > 01-09-16, 06:30 PM
-
RE: Hỏi về bắt lỗi trong accc
ongke0711 > 01-09-16, 07:02 PM
Cách khác: trong table (source của sub form), bạn quét chọn 2 truờng là [mã xe] và [Ngày cấp xăng], sau đó click icon Primary Key. Ý nghia: nếu vừa trùng mã xe vừa trùng ngày hệ thống sẽ báo bị trùng dữ liệu.
Ở sự kiện Form on Error, bạn sẽ bắt lỗi số 3201 ( hay số khác, tôi quên rồi) để hiện thông báo tiếng Việt là trùng dữ liệu. -
RE: Hỏi về bắt lỗi trong accc
thanlaem > 01-09-16, 09:00 PM
(01-09-16, 07:02 PM)ongke0711 Đã viết: Cách khác: trong table (source của sub form), bạn quét chọn 2 truờng là [mã xe] và [Ngày cấp xăng], sau đó click icon Primary Key. Ý nghia: nếu vừa trùng mã xe vừa trùng ngày hệ thống sẽ báo bị trùng dữ liệu.
Ở sự kiện Form on Error, bạn sẽ bắt lỗi số 3201 ( hay số khác, tôi quên rồi) để hiện thông báo tiếng Việt là trùng dữ liệu.
Không có sự kiện form in error bạn ạ -
RE: Hỏi về bắt lỗi trong accc
ongke0711 > 01-09-16, 10:46 PM
Theo như hình là bạn đang ở Detail section chứ không phải Form nhé.
Mã PHP:Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
Case 3022
MsgBox "Xe nay da cap xang roi!"
Response = acDataErrContinue ' tat thong bao mac dinh của Access
Case 2113
MsgBox "Sai kieu du lieu"
Response = acDataErrContinue
Case Else
Response = acDataErrDisplay
End Select
Me.Undo
End Sub -
RE: Hỏi về bắt lỗi trong accc
thanlaem > 03-09-16, 08:02 PM
(01-09-16, 10:46 PM)ongke0711 Đã viết: Theo như hình là bạn đang ở Detail section chứ không phải Form nhé.
Mã PHP:Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
Case 3022
MsgBox "Xe nay da cap xang roi!"
Response = acDataErrContinue ' tat thong bao mac dinh của Access
Case 2113
MsgBox "Sai kieu du lieu"
Response = acDataErrContinue
Case Else
Response = acDataErrDisplay
End Select
Me.Undo
End Sub
Anh ơi có cách nào bắt lỗi được như thế nữa không anh? em thử cách này vẫn không được anh ạ. nó vẫn trả về lỗi 3022 -
RE: Hỏi về bắt lỗi trong accc
thanlaem > 03-09-16, 09:44 PM
Mà có cần gọi lại sub ko bạn?? -
RE: Hỏi về bắt lỗi trong accc
thanlaem > 04-09-16, 09:15 AM
Mình làm theo hướng dẫn mà nó vẫn thông báo lỗi 3022 khi bị trùng khoá chính bạn ạ. có các nào khác không bạn??