StopMacro 宏操作

适用于:Access 2013、Office 2013

可以使用 StopMacro 操作停止当前正在运行的宏。

Setting

StopMacro 操作没有任何参数。

备注

通常,当条件需要停止宏时,可以使用此操作。 可以在宏中包含此操作的操作行中使用条件表达式。 当表达式的计算结果为 True (–1) 时,Microsoft Access 将停止宏。

例如,可以创建一个宏,用于打开一个窗体,其中显示自定义对话框中输入的日期的每日订单总计。 可以使用条件表达式来确保对话框中的“ 订单日期 ”控件包含有效的日期。 否则, MessageBox 操作可能会显示错误消息, StopMacro 操作可以停止宏。

如果宏已使用 EchoSetWarnings 操作关闭回显或系统消息显示, 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