Compartilhar via


Instrução de macro Submacro

Aplica-se ao: Access 2013, Office 2013

A instrução Submacro define uma macro separada na janela Macro Designer.

Setting

A ação Submacro tem os seguintes argumentos.

Argumento

Obrigatório

Descrição

Nome

Sim

Uma cadeia de caracteres que aparece como o nome da macro.

Exemplo

A macro a seguir demonstra o uso da ação OnError . Neste exemplo, a ação OnError especifica que o Access execute uma macro personalizada de tratamento de erros chamada ErrorHandler quando ocorrer um erro. Quando ocorre um erro, o submacro CatchErrors é chamado. Se o número de erro for 2102, uma mensagem específica será exibida e a execução da macro será interrompida. Caso contrário, uma mensagem que descreve o erro é exibida e a macro é pausada para que você possa executar uma solução de problemas adicional. A macro ErrorHandler exibe uma caixa de mensagem que se refere ao objeto MacroError para exibir informações sobre o erro.

Código de exemplo fornecido por: a Referência do programador do 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