Interne Fehlermeldungen umgehenAccess hält einige mehr oder wenig aussagekräftige Fehlermeldungen bereit, die Nicht-Accessprofis mehr verwirren als alles andere. Im vorliegenden Beitrag erfahren Sie, wie Sie diese Fehlermeldungen umgehen und durch Ihre eigenen Meldungen ergänzen können. Fehler in FormularenInnerhalb von Formularen können Fehler durch die Verwendung der Ereigniseigenschaft Bei Fehler umgangen werden.

Um die Umgehung der Fehlermeldungen auf diesem Wege zu realisieren, gehen Sie folgendermaßen vor: - Öffnen Sie das Formular in der Entwurfsansicht.
- Aktivieren Sie das Eigenschaftsfenster (zum Beispiel über die Schaltfläche F4), klicken Sie doppelt in das Feld für die Eigenschaft Bei Fehler und anschließend auf die daneben erscheinende Schaltfläche mit den drei Punkten (...).
- Es öffnet sich der VBA-Editor mit einer leeren Ereignisprozedur. Ergänzen Sie diese Prozedur beispielsweise wie im folgenden Quellcode, um eine Standardfehlermeldung auszugeben.
Private Sub Form_Error(DataErr As Integer, Response As Integer)
MsgBox "Fehler-Nummer: " & DataErr
Response = acDataErrContinue
End Sub
Die Fehlernummer ist nicht wie beispielsweise unter VBA üblich im Err-Objekt zu finden, sondern wird im Parameter DataErr übergeben. Diesen können Sie auswerten und eine entsprechende Fehlermeldung ausgeben.
Dem Response-Parameter übergeben Sie den Wert acDataErrContinue, um die Ausführung ohne Anzeige einer Access-internen Fehlermeldung fortzusetzen.
Wenn Sie beispielsweise einen Fehler mit der Nummer 3022 abfangen möchten, der zum Beispiel bei Schlüsselverletzungen auftritt, verwenden Sie die folgende Prozedur:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 3022 Then
MsgBox "Es ist bereits ein Datensatz mit diesem Wert vorhanden."
End If
Response = acDataErrContinue
End Sub |