Evento Form.Error (Access)
O evento Erro ocorre quando um erro de tempo de execução é produzido no Microsoft Access quando um formulário tem o foco.
Sintaxe
expressão. Erro (DataErr, Response)
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 retornado pelo objeto Err quando ocorre um erro. Use o argumento DataErr com a função Error para mapear o número para a mensagem de erro correspondente. |
Response | Obrigatório | Integer | A configuração determina se uma mensagem de erro é exibida. O argumento Response pode ser uma das seguintes constantes intrínsecas.
|
Comentários
Isso inclui erros do mecanismo de banco de dados access, mas não erros de tempo de execução no Visual Basic ou erros do ADO.
Para executar uma macro ou procedimento de evento quando esse evento ocorrer, defina a propriedade OnError como o nome da macro ou para [Procedimento de Evento].
Executando um procedimento de evento ou uma macro quando ocorre um evento Error , você pode interceptar uma mensagem de erro do Access e exibir uma mensagem personalizada que transmite um significado mais específico para seu aplicativo.
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 retorna uma mensagem de erro indicando que encontrou uma chave duplicada (código de erro 3022), este procedimento de evento exibe uma mensagem que fornece mais informações específicas do aplicativo aos usuários.
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.