Form.Error-Ereignis (Access)

Das Error-Ereignis 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.
  • acDataErrContinue Ignoriert den Fehler und setzt den Vorgang ohne Anzeige der Standardfehlermeldung von Microsoft Access fort. Sie können statt der Standardfehlermeldung eine benutzerdefinierte Fehlermeldung anzeigen.

  • acDataErrDisplay (Standard) Zeigt die Standardmäßige Access-Fehlermeldung an.

HinwBemerkungeneise

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.