Поделиться через


Оператор макроса Submacro

Область применения: Access 2013, Office 2013

Оператор Submacro определяет отдельный макрос в окне макросов Designer.

Setting

Аргументы действия Submacro приведены ниже.

Аргумент

Обязательный

Описание

Имя

Да

Строка, которая отображается в качестве имени макроса.

Пример

В следующем макросе показано использование действия OnError . В этом примере действие OnError указывает, что при возникновении ошибки Access запускает настраиваемый макрос обработки ошибок с именем ErrorHandler. При возникновении ошибки вызывается подмакро CatchErrors. Если номер ошибки равен 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