Mittwoch, 20. September 2017

Home
Tipps
Bücher
Software
News / Links
Hilfe
Impressum

Sponsored by
QualityHosting

Frage und Antwort
Spezifische Fehlermeldungen anzeigen
von Dr. Matthias Mindach
Problem:

Um in meiner Datenbank die mehrfache Eingabe von Personaldaten zu verhindern, habe ich in der Tabelle Personaldaten einen Mehrfelder-Sekundärschlüssel mit der Eigenschaft keine Duplikate erstellt, der im Fall der Eingabe von identischen Personalien verhindert, dass der neue Datensatz gespeichert wird und der statt dessen eine Fehlermeldung produziert.

Wenn ich ein Makro mit den Aktionen Meldung, AusführenBefehl (Argument Rückgängig) und StopAlleMakros auf die Formulareigenschaft Bei Fehler setze, so erscheint meine benutzerdefinierte Fehlermeldung zwar, aber sie erscheint natürlich auch bei allen anderen im Formular auftretenden Fehlern.

Wie kann ich nun eine fehlerspezifische Meldung erzeugen? Wie muss eine VBA-Prozedur aussehen, die diesen Fehler auffängt?

Antwort der TriniDat GmbH:

Um Ihre Fehlerprozedur auf VBA zu basieren, setzen Sie zunächst die Eigenschaft Bei Fehler Ihres Formulars auf [Ereignisprozedur]. Geben Sie dann folgende Zeilen im Code-Fenster ein.

Private Sub Form_Error(DataErr As Integer, Response As Integer)

    ' Fehlernummer ausgeben
    MsgBox DataErr
    If DateErr = 30 Then
        DoCmd.RunMacro "MeinMakro"
        Response = acDataErrContinue
    Else
        Response = acDataErrDisplay
    End If

End Sub

Der Parameter DataErr enthält eine eindeutige Fehlernummer, die Sie prüfen können. In diesem Beispiel wird das Makro MeinMakro ausgeführt, falls Fehler 30 auftreten sollte.

Alle anderen Fehler werden mit einer normalen Fehlermeldung quittiert.


Ein Service der TriniDat Software-Entwicklung GmbH - Am Wehrhahn 45 - 40211 Düsseldorf

  Suche
Suche starten
  Service
Leserbrief / Frage zu Access
Kontakt
  NewsLetter
NewLetter bestellen
NewsLetter abbestellen
  Partner-Seiten
HyperLink

www.trinidat.de


HyperLink

www.fulldotnet.de