Phương thức bẫy lối

tienduyet

Member
Hội viên mới
Xin cho em biết cách bấy các lỗi mà mình có thể biết trước trước khi điều đó sảy ra. ví như tạo kết nối 1 - n, nhưng khi em vào bên 1 ra lệnh xóa đi --> em không muốn nhận 1 thông báo = tiếng anh mà em xin được các anh chỉ giáo cho việc bẫy lỗi đó như thế nào.
hay lỗi 3101,......
Em nhận được lời chỉ bảo của các anh!
 
Ðề: Phương thức bẫy lối

Đây là đoạn code thay thế thông báo lôi:
Private Sub Form_Error(DataErr As Integer, Response As Integer)

'If an error occurs because of missing data in a required field
'display our own custom error message

Const conErrRequiredData = 3314

If DataErr = conErrRequiredData Then
MsgBox ("Please ensure that you enter a First Name and Last Name")
Response = acDataErrContinue
Else
'Display a standard error message
Response = acDataErrDisplay
End If
End Sub
 
Ðề: Phương thức bẫy lối

Xin cho em biết cách bấy các lỗi mà mình có thể biết trước trước khi điều đó sảy ra. ví như tạo kết nối 1 - n, nhưng khi em vào bên 1 ra lệnh xóa đi --> em không muốn nhận 1 thông báo = tiếng anh mà em xin được các anh chỉ giáo cho việc bẫy lỗi đó như thế nào.
hay lỗi 3101,......
Em nhận được lời chỉ bảo của các anh!

Có nhiều cách bẫy lỗi (trapping error) trong Access VBA nói riêng và "họ VBA" nói chung. Những lỗi ở đây thường là lỗi run-time vì nếu lỗi syntax thì khi compile là nó báo lỗi rồi.

Ở Access có thể bẫy lỗi ở cấp form, cấp procedure.

Với Form thì dùng bẫy bằng sự kiện Error tương tự như behattieu.

Còn cấp procedure thì dùng các statement sau:

On Error Goto label => khi xảy ra lỗi thì nhảy đến nhãn label để thực hiện tiếp những lệnh sau nhãn
On Error Resume Next => khi xảy ra lỗi thì cứ "vờ" đi, làm tiếp lệnh kế
On Error Goto 0 => kể từ giờ thì khi có lỗi, Access sẽ thông báo lỗi
Resume label => Chuyển đến nhãn label để thực hiện tiếp những lệnh sau nhãn

VD: Sau đây là một thủ tục sự kiện Click của nút cmdPrint, gọi một report ra. Ở report có bẫy sự kiện NoData khi report không có record nào được in ra. Lúc đó report sẽ không xuất hiện. Khi report không xuất hiện thì lệnh gọi report trong thủ tục Click sẽ gây ra lỗi. Lỗi này không phải là lỗi dữ liệu nên chúng ta có thể bỏ qua nó.

Thủ tục sự kiện NoData của report
Private Sub Report_NoData (Cancel As Integer)
MsgBox "Khong co du lieu de in"
Cancel = True
End Sub


Thủ tục sự kiện Click của nút cmdPrint
Private Sub cmdPrint_Click ()
On Error Resume Next
DoCmd.OpenReport "reportname", acViewNormal
On Error Goto 0
End Sub
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top