Ação da macro AoOcorrerErro

Aplica-se ao: Access 2013, Office 2013

Você pode usar a ação AoOcorrerErro para especificar o que deve acontecer quando ocorre um erro em uma macro.

Configuração

A ação AoOcorrerErro tem os seguintes argumentos.

Argumento da ação

Descrição

Acesse

Especifique como deve ser o comportamento geral quando for encontrado um erro. Clique na seta suspensa e clique em uma das configurações a seguir:

Configuração

Descrição

Next

O Microsoft Office Access 2007 registra os detalhes do erro no objeto MacroError, mas não interrompe a macro. A macro continua com a ação seguinte.

Nome da Macro

O Access interrompe a macro atual e executa aquela nomeada no argumento Nome da Macro.

Falha

O Access para a macro atual e exibe uma mensagem de erro.

Macro Name

Se o argumento Ir para estiver definido como Nome da Macro, escreva o nome da macro a utilizar para processamento de erros. O nome que escrever tem de corresponder a um nome na coluna Nome da Macro da macro atual; não pode introduzir o nome de um objeto de macro diferente. No exemplo abaixo, a macro ErrorHandler está contida no mesmo objeto de macro que a ação OnError . Este argumento precisará ficar em branco se o argumento Ir para for definido como Próximo ou Falhar.

Comentários

  • A ação AoOcorrerErro normalmente é colocada no início de uma macro, mas você também pode colocar a ação na macro posteriormente. As regras estabelecidas pela ação entrarão em vigor sempre que a ação for executada.

  • Se você definir o argumento Ir para como Falhar, o Access terá o mesmo comportamento de se não houvesse nenhuma ação AoOcorrerErro na macro. Isso significa que, se for encontrado um erro, o Access interromperá a macro e exibirá uma mensagem de erro padrão. O principal uso da configuração Falhar é desligar qualquer tratamento de erros que você tenha estabelecido anteriormente em uma macro.

Exemplo

A seguinte macro demonstra a utilização da ação OnError . Neste exemplo, a ação OnError especifica que o Access executa uma macro de processamento de erros personalizada chamada ErrorHandler quando ocorre um erro. Quando ocorre um erro, a submacro CatchErrors é chamada. Se o número de erro for 2102, será apresentada uma mensagem específica e a execução da macro será interrompida. Caso contrário, é apresentada uma mensagem que descreve o erro e a macro é colocada em pausa para que possa efetuar uma resolução de problemas adicional. A macro ErrorHandler apresenta uma caixa de mensagem que se refere ao objeto MacroError para apresentar 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