StopMacro 宏操作
适用于:Access 2013、Office 2013
可以使用 StopMacro 操作停止当前正在运行的宏。
Setting
StopMacro 操作没有任何参数。
备注
通常,当条件需要停止宏时,可以使用此操作。 可以在宏中包含此操作的操作行中使用条件表达式。 当表达式的计算结果为 True (–1) 时,Microsoft Access 将停止宏。
例如,可以创建一个宏,用于打开一个窗体,其中显示自定义对话框中输入的日期的每日订单总计。 可以使用条件表达式来确保对话框中的“ 订单日期 ”控件包含有效的日期。 否则, MessageBox 操作可能会显示错误消息, StopMacro 操作可以停止宏。
如果宏已使用 Echo 或 SetWarnings 操作关闭回显或系统消息显示, StopMacro 操作会自动将其重新打开。
此操作在 Visual Basic for Applications (VBA) 模块中不可用。
示例
下面的宏演示如何使用 OnError 操作。 在此示例中, OnError 操作指定 Access 在发生错误时运行名为 ErrorHandler 的自定义错误处理宏。 发生错误时,将调用 CatchErrors 子macro。 如果错误编号为 2102,则显示特定消息并停止宏执行。 否则,将显示一条描述错误的消息,并暂停宏,以便执行其他故障排除。 ErrorHandler 宏会显示一个引用 MacroError 对象的消息框,以显示有关该错误的信息。
示例代码提供方:Microsoft Access 2010 程序员参考。
/* MACRO: mcrThrowErrors */
/* PURPOSE: Error handling using macros in Access 2010 */
OnError
Go to Macro Name
Macro Name CatchErrors
OpenForm
Form Name frmSamples
View Form
Filter Name
Where Condition
Data Mode
Window Mode Normal
MessageBox
Message This message appears after the OpenForm action
Beep Yes
Type None
Title
/* SUBMACRO: CatchErrors */
SubMacro: CatchErrors
If [MacroError].[Number]=2101 Then
MessageBox
Message Cannot find the specified form!
Beep Yes
Type Critical
Title
StopMacro
Else
MessageBox
Message =[MacroErro].[Description]
Beep Yes
Type None
Title Unhandled Error
SingleStep
End If
End SubMacro