Bạn có thể sử dụng hành động macro onError trong Access để xác định điều gì sẽ xảy ra khi xảy ra lỗi trong macro.
Lưu ý: Hành động macro OnError không sẵn dùng trong các ứng dụng Web Access.
Thiết đặt
Hành động macro onError có các đối số sau đây.
Đối số hành động |
Mô tả |
||||||||
Đến |
Xác định hành vi chung sẽ xảy ra khi gặp phải lỗi. Bấm vào mũi tên thả xuống, rồi bấm vào một trong các thiết đặt sau:
|
||||||||
Tên macro |
Nếu đối số đi tới được đặt thành macro name, hãy nhập tên của macro con sẽ được sử dụng để xử lý lỗi. Tên bạn nhập phải khớp với tên con macro trong macro hiện tại; bạn không thể nhập tên của một đối tượng macro khác. Trong ví dụ dưới đây, Macro ErrorHandler Sub được chứa trong cùng một đối tượng macro với hành động macro onError . Đối số này phải còn trống nếu đi đến tham đối được đặt là tiếp theo hoặc khôngthành công. |
Chú thích
-
Hành động macro onError thường được đặt ở đầu macro nhưng bạn cũng có thể đặt hành động sau này trong macro. Các quy tắc được thiết lập bởi hành động sẽ có hiệu lực bất cứ khi nào hoạt động được chạy.
-
Nếu bạn đặt tham đối đi đếnkhôngthành công, thì Access sẽ thực hiện giống như cách thức nếu không có hành động onError trong macro. Tức là nếu gặp phải lỗi, Access sẽ dừng macro và hiển thị thông báo lỗi tiêu chuẩn. Việc sử dụng chính cho thiết đặt không thành công là tắt bất kỳ việc xử lý lỗi nào mà bạn đã thiết lập trước đó trong macro.
Ví dụ
Macro sau đây minh họa việc sử dụng hành động macro onError . Trong ví dụ này, hành động OnError chỉ định rằng Access sẽ chạy một macro con xử lý lỗi tùy chỉnh có tên là ErrorHandler khi xảy ra lỗi. Nếu có lỗi xảy ra trong bất kỳ hành động tiếp theo nào, Access sẽ nhảy đến macro con ErrorHandler. Macro con ErrorHandler hiển thị hộp thông báo tham chiếu đến đối tượng MacroError để hiển thị thông tin về lỗi đó.
Tên tiểu macro |
Hành động |
Đối số |
OnError |
Đi tới: tên macro Macro name: errorhandler |
|
[Hành động 2] |
||
... |
||
[Hành động n] |
||
Lỗi |
Hộp thư |
Thông báo: = "lỗi #" & [lỗi macro]. [Number] & "trên" & [MacroError]. [Tên trang tính] & "hành động". Beep: có Loại: không có Tiêu đề: lỗi đã xảy ra |
Đây là ảnh chụp màn hình trình thiết kế macro của Access (Access phiên bản 2010 trở lên) với ví dụ trước đó. Trong trường hợp này, biểu thức trong hành động SetLocalVar gây ra lỗi vì biểu thức này đang tìm cách chia một số cho 0. Access di chuyển xuống đến macro con có tên là ErrorHandler và hiển thị thông tin lỗi trong một hộp thông báo.