Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se ao: Access 2013, Office 2013
A ação GerarErro cria uma exceção que pode ser lidada pela ação de macro AoOcorrerErro.
Observação
A ação GerarErro está disponível somente em Macros de Dados.
Setting
A ação GerarErro tem os seguintes argumentos.
Argumento |
Obrigatório |
Descrição |
|---|---|---|
Número do erro |
Sim |
Um número ou uma expressão que resolve para o tipo de dados Long. |
Descrição do erro |
Não |
Uma expressão de cadeia de caracteres que descreve o erro. |
Comentários
Se a ação GerarErro for chamada em um evento de macro Antes de Alterar ou Antes de Excluir, o evento será cancelado.
Se não houver uma instrução AoOcorrerErro ativa lidando com erros, o erro gerado pela ação GerarErro será adicionado à tabela de sistema USysApplicationLog. Quando a ação GerarErro for gravada na tabela USysApplicationLog, a coluna Categoria será automaticamente definida como Execução.
Para ver a tabela USysApplicationLog, siga estas etapas:
Clique no menu Arquivo e clique em Opções.
Na caixa de diálogo Opções do Access, clique na guia Bancos de Dados Atual.
Na seção Navegação, clique em Opções de Navegação.
Na caixa de diálogo Opções de Navegação, clique em Mostrar Objetos do Sistema e clique em OK.
Clique em OK para fechar a caixa de diálogo Opções do Access.
Exemplo
O exemplo a seguir mostra como usar a ação RaiseError para cancelar o evento de macro de dados Antes de Alterar. Quando o campo AssignedTo é atualizado, um bloco de dados LookupRecord é usado para determinar se o técnico atribuído está atribuído atualmente a uma solicitação de serviço aberta. Se isso for verdadeiro, o evento Before Change será cancelado e o registro não será atualizado.
Código de exemplo fornecido por: a Referência do programador do Microsoft Access 2010.
/* Get the name of the technician */
Look Up A Record In tblTechnicians
Where Condition =[tblTechnicians].[ID]=[tblServiceRequests].[AssignedTo]
SetLocalVar
Name TechName
Expression [tblTechnicians].[FirstName] & " " & [tblTechnicians].[LastName]
/* End LookUpRecord */
If Updated("AssignedTo") Then
Look Up A Record In tblServiceRequests
Where Condition SR.[AssignedTo]=tblServiceRequests[AssignedTo] And
SR.[ID]<>tblServiceRequests.[ID] And IsNull(SR.[ActualCompletionDate])
Alias SR
RaiseError
Error Number 1234
Error Description ="Cannot assign a request to the specified technician: " & [TechName]
End If