可使用 ClearMacroError 操作清除有关存储在 MacroError 对象中的错误的信息。
注意
ClearMacroError 宏操作在 Access Web 应用中不可用。
设置
ClearMacroError 操作没有任何参数。
备注
- 当宏中发生错误时,有关错误的信息存储在 MacroError 对象中。 如果您尚未使用 OnError 操作来抑制错误消息,则宏将停止,并且错误信息将显示在标准错误消息中。 但是,如果已使用 OnError 操作来禁止显示错误消息,则可能希望在条件或自定义错误消息中使用存储在 MacroError 对象中的信息。
处理错误后, MacroError 对象中的信息已过期,因此最好使用 ClearMacroError 操作清除对象。 这样做会将 MacroError 对象中的错误编号重置为 0,并清除存储在对象中的有关错误的任何其他信息,如错误说明、宏名称、操作名称、条件和参数。 这样,你可以稍后再次检查 MacroError 对象,看看是否发生了另一个错误。 - 当任何宏结束时,将自动清除 MacroError 对象,因此无需在宏末尾使用 ClearMacroError 操作。
- MacroError 对象一次只包含一个错误的信息。 如果宏中发生多个错误, MacroError 对象仅包含与最后一个错误有关的信息。
- 若要在 VBA 模块中运行 ClearMacroError 操作,请使用 DoCmd 对象的 ClearMacroError 方法。
示例
以下宏将 OnError 操作与 Next 参数一起使用来禁止显示错误消息,然后使用 OpenForm 操作打开窗体。 对于此示例,通过使用 GoToRecord 操作转到上一条记录故意创建错误。 条件 [MacroError].[Number]<>0 测试 MacroError 对象。 如果发生错误,则错误号为非零,并且将运行 MsgBox 操作。 消息框显示导致错误 (的操作的名称,在本例中为 GoToRecord 操作) ,并显示错误编号。 最后,运行 ClearMacroError 操作将清除 MacroError 对象。
| 条件 | 操作 | 参数 |
|---|---|---|
| OnError | 转至: 下一步 | |
| OpenForm |
窗体名称: CategoryForm 查看: 窗体 窗口模式: 正常 |
|
| GoToRecord |
对象类型: 窗体 对象名称: CategoryForm 记录: 上一个 |
|
| [MacroError].[Number]<>0 | MsgBox |
消息:=“Error # ” & [MacroError]。[Number] & “ on ” & [MacroError]。[ActionName] & “操作”。 哔哔声: 是 类型:信息 |
| ClearMacroError |