Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O evento Erro ocorre quando é produzido um erro de tempo de execução no Microsoft Access quando um formulário tem o foco.
Sintaxe
expressão. Erro (DataErr, Resposta)
expressão Uma variável que representa um objeto Form.
Parâmetros
| Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
|---|---|---|---|
| DataErr | Obrigatório | Integer | O código de erro devolvido pelo objeto Err quando ocorre um erro. Utilize o argumento DataErr com a função Error para mapear o número para a mensagem de erro correspondente. |
| Response | Obrigatório | Integer | A definição determina se é apresentada uma mensagem de erro. O argumento Response pode ser uma das seguintes constantes intrínsecas.
|
Comentários
Isto inclui erros do motor de base de dados do Access, mas não erros de tempo de execução no Visual Basic ou erros do ADO.
Para executar um procedimento de macro ou evento quando este evento ocorre, defina a propriedade OnError para o nome da macro ou para [Procedimento de Evento].
Ao executar um procedimento de evento ou uma macro quando ocorre um Evento de erro , pode intercetar uma mensagem de erro do Access e apresentar uma mensagem personalizada que transmite um significado mais específico para a sua aplicação.
Exemplo
O exemplo a seguir mostra como você pode substituir uma mensagem de erro padrão por uma mensagem de erro personalizada. Quando o Access devolve uma mensagem de erro que indica que encontrou uma chave duplicada (código de erro 3022), este procedimento de evento apresenta uma mensagem que fornece mais informações específicas da aplicação aos utilizadores.
Para testar o exemplo, adicione o procedimento de evento a seguir a um formulário baseado em uma tabela com um número de identificação de funcionário exclusivo como chave de cada registro.
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const conDuplicateKey = 3022
Dim strMsg As String
If DataErr = conDuplicateKey Then
Response = acDataErrContinue
strMsg = "Each employee record must have a unique " _
& "employee ID number. Please recheck your data."
MsgBox strMsg
End If
End Sub
O exemplo a seguir mostra como você pode substituir uma mensagem de erro padrão por uma mensagem de erro personalizada.
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
Case 2113
MsgBox "Only numbers are acceptable in this box", vbCritical, "Call 1-800-123-4567"
Response = acDataErrContinue
Case 2237
MsgBox "You can only choose from the dropdown box"
Response = acDataErrContinue
Case 3022
MsgBox "You entered a value that exists already in another record"
Response = acDataErrContinue
SSN.Value = SSN.OldValue
Case 3314
MsgBox "The DOH is required, so you cannot leave this field empty"
Response = acDataErrContinue
Case Else
Response = acDataErrDisplay
End Select
ActiveControl.Undo
End Sub
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.