Bạn có thể sử dụng hành động macro OnError trong Access để chỉ đị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 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 đến được đặt thành Tên Macro, hãy nhập tên của macro con sẽ được dùng để xử lý lỗi. Tên bạn nhập phải khớp với tên macro con 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 con ErrorHandler đượ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 để trống nếu tham đối Đi tới được đặt thành Tiếp theo hoặcThất bại. |
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 này sau 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 hành động được chạy.
-
Nếu bạn đặt tham đối Đi đến thành Không thành công, Access sẽ hoạt động giống như khi không có hành động OnError trong macro. Nghĩa là, nếu gặp lỗi, Access sẽ ngừng macro và hiển thị thông báo lỗi chuẩn. Mục đích chính của cài đặt Không thành công là tắt bất kỳ 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 cách 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 Macro con |
Hành động |
Đối số |
OnError |
Đi tới: Tên Macro Tên Macro: ErrorHandler |
|
[Hành động 2] |
||
... |
||
[Hành động n] |
||
ErrorHandler |
Hộp Thông báo |
Thông báo: ="Lỗi # " & [MacroError]. [Number] & " on " & [MacroError]. [Tên Hành động] & "hành động". Bíp: Có Loại: Không có Tiêu đề: Đã xảy ra lỗi |
Đâ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.