Form.Error-Ereignis (Access)
Das Fehlerereignis tritt auf, wenn in Microsoft Access ein Laufzeitfehler erzeugt wird, wenn ein Formular den Fokus hat.
Syntax
Ausdruck. Fehler (DataErr, Antwort)
expression Eine Variable, die ein Form-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
DataErr | Erforderlich | Integer | Der Fehlercode, der vom Err-Objekt zurückgegeben wird, wenn ein Fehler auftritt. Verwenden Sie das Argument DataErr mit der Error-Funktion , um die Zahl der entsprechenden Fehlermeldung zuzuordnen. |
Antwort | Erforderlich | Integer | Die Einstellung bestimmt, ob eine Fehlermeldung angezeigt wird. Das Argument Response kann eine der folgenden systeminternen Konstanten sein.
|
Hinweise
Dies schließt Fehler der Access-Datenbank-Engine ein, aber keine Laufzeitfehler in Visual Basic oder Fehler aus ADO.
Um ein Makro oder eine Ereignisprozedur auszuführen, wenn dieses Ereignis auftritt, legen Sie die OnError-Eigenschaft auf den Namen des Makros oder auf [Ereignisprozedur] fest.
Durch Ausführen einer Ereignisprozedur oder eines Makros, wenn ein Fehlerereignis auftritt, können Sie eine Access-Fehlermeldung abfangen und eine benutzerdefinierte Meldung anzeigen, die eine spezifischere Bedeutung für Ihre Anwendung vermittelt.
Beispiel
Das folgende Beispiel zeigt, wie Sie eine Standardfehlermeldung durch eine benutzerdefinierte Fehlermeldung ersetzen können. Wenn Access eine Fehlermeldung zurückgibt, die angibt, dass ein doppelter Schlüssel gefunden wurde (Fehlercode 3022), zeigt diese Ereignisprozedur eine Meldung an, die Benutzern weitere anwendungsspezifische Informationen bereitstellt.
Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Formular hinzu, das auf einer Tabelle mit einer eindeutigen Personalnummer als Schlüssel für die einzelnen Datensätze basiert.
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
Das folgende Beispiel zeigt, wie Sie eine Standardfehlermeldung durch eine benutzerdefinierte Fehlermeldung ersetzen können.
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
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.