Pode utilizar a ação de macro OnError no Access para especificar o que deve acontecer quando ocorre um erro numa macro.
Nota: A ação de macro OnError não está disponível nas aplicações Web do Access.
Definição
A ação de macro OnError tem os seguintes argumentos.
Argumento de ação |
Descrição |
||||||||
Ir para |
Especifique o comportamento geral que deve ocorrer quando é encontrado um erro. Clique na seta pendente e, em seguida, clique numa das seguintes definições:
|
||||||||
Nome da Macro |
Se o argumento Ir para estiver definido como Nome da Macro, escreva o nome da submacro a utilizar para processamento de erros. O nome que escrever tem de corresponder a um nome de submacro na macro atual; não pode introduzir o nome de um objeto de macro diferente. No exemplo abaixo, a sub macro ErrorHandler está contida no mesmo objeto de macro que a ação de macro OnError . Este argumento tem de ser deixado em branco se o argumento Ir para estiver definido como Seguinte ou Falhar. |
Observações
-
Normalmente, a ação de macro OnError é colocada no início de uma macro, mas também pode colocar a ação mais tarde na macro. As regras estabelecidas pela ação entrarão em vigor sempre que a ação for executada.
-
Se definir o argumento Ir paracomo Falhar, o Access comporta-se da mesma forma que se não houvesse nenhuma ação AoOuro na macro. Ou seja, se for encontrado um erro, o Access para a macro e apresenta uma mensagem de erro padrão. A utilização principal para a definição Falha é desativar qualquer processamento de erros que tenha estabelecido anteriormente numa macro.
Exemplo
A seguinte macro demonstra a utilização da ação de macro OnError . Neste exemplo, a ação AoOcorrerErro especifica que o Access executa uma submacro de processamento de erros personalizada denominada ProcessadorErros quando ocorre um erro. Se ocorrer um erro numa das ações seguintes, o Access avança para a submacro ProcessadorErros. A submacro ProcessadorErros apresenta uma caixa de mensagem referente ao objeto ErroMacro para apresentar informações sobre o erro.
Nome da Submacro |
Ação |
Argumentos |
AoOcorrerErro |
Aceda a: Nome da Macro Nome da Macro: ErrorHandler |
|
[Ação 2] |
||
... |
||
[Ação n] |
||
ErrorHandler |
Caixa de Mensagens |
Mensagem: ="Erro # " & [ErroMacro].[Número] & " em " & [ErroMacro].[ActionName] & " ação." AvisoSonoro: Sim Tipo: Nenhum Título: Ocorreu um erro |
Segue-se uma captura de ecrã do estruturador de macros do Access (versão do Access 2010 e superior) com o exemplo anterior. Neste caso, a expressão na ação DefinirVarLocal aciona um erro porque tenta dividir um número por zero. O Access avança para a submacro denominada ProcessadorErros e apresenta as informações sobre o erro numa caixa de mensagem.