Você pode usar a ação ClearMacroError para limpar informações sobre um erro armazenado no objeto MacroError .
Observação: A ação de macro ClearMacroError não está disponível nos aplicativos Web do Access.
Configuração
A ação ClearMacroError não tem argumentos.
Comentários
-
Quando ocorre um erro em uma macro, as informações sobre o erro são armazenadas no objeto MacroError . Se você não tiver usado a ação OnError para suprimir mensagens de erro, a macro será interrompida e as informações de erro serão exibidas em uma mensagem de erro padrão. No entanto, se você tiver usado a ação OnError para suprimir mensagens de erro, talvez queira usar as informações armazenadas no objeto MacroError em uma condição ou em uma mensagem de erro personalizada.
Depois que um erro for tratado, as informações no objeto MacroError estão desatualizadas, portanto, é uma boa ideia limpar o objeto usando a ação ClearMacroError . Isso redefine o número de erro no objeto MacroError para 0 e limpa qualquer outra informação sobre o erro armazenado no objeto, como a descrição do erro, o nome da macro, o nome da ação, a condição e os argumentos. Dessa forma, você pode inspecionar o objeto MacroError novamente mais tarde para ver se ocorreu outro erro.
-
O objeto MacroError é desmarcado automaticamente quando qualquer macro termina, portanto, você não precisa usar a ação ClearMacroError no final de uma macro.
-
O objeto MacroError contém informações sobre apenas um erro por vez. Se mais de um erro tiver ocorrido em uma macro, o objeto MacroError conterá informações apenas sobre o último erro.
-
Para executar a ação ClearMacroError em um módulo VBA, use o método ClearMacroError do objeto DoCmd .
Exemplo
A macro a seguir usa a ação OnError com o argumento Avançar para suprimir mensagens de erro e, em seguida, usa a ação OpenForm para abrir um formulário. Para este exemplo, um erro é criado deliberadamente usando a ação GoToRecord para acessar o registro anterior. A condição [MacroError].[Number]<>0 testa o objeto MacroError . Se ocorreu um erro, o número de erro não será zero e a ação MsgBox será executada. A caixa de mensagem exibe o nome da ação que causou o erro (nesse caso, a ação GoToRecord ) e o número de erro é exibido. Por fim, executar a ação ClearMacroError limpa o objeto MacroError .
Condição |
Ação |
Argumentos |
Onerror |
Vá para: Próximo |
|
Abrirformulário |
Nome do Formulário: CategoryForm Exibição: Formulário Modo de Janela: Normal |
|
GoToRecord |
Tipo de objeto: Formulário Nome do objeto: CategoryForm Registro: Anterior |
|
[MacroError]. [Número]<>0 |
Msgbox |
Mensagem: ="Error # " & [MacroError]. [Número] & " em " & [MacroError]. [ActionName] & " ação". Bip: Sim Tipo: Informações |
ClearMacroError |