Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Fehlermeldungen speichern





Frage

Hallo, gibt es eine Möglichkeit im Access alle Fehler, die auftreten, in einer Tabelle zu speichern. Es sollen wirklich alle Fehlermeldungen aufgelistet werden, auch die, die beim Starten und beim Schließen der Datenbank erscheinen. Gruß stirlitz

Antwort 1 von stirlitz

Weiß es wirklich keiner?
Ich habe beobachtet, dass Access automatisch eine Tabelle erstellt und Fehlermeldung reinschreibt, wenn ein Konvertierungsfehler auftritt. Ich möchte aber, dass ALLE Fehler dokumentiert werden. Wie z.B. beim Starten der Datenbank: Zugriff wurde verweigert oder Backend-Datei nicht gefunden o.ä.

Gruß stirlitz

Antwort 2 von lorf55

Hallo,
da kann ich dir nur ein paar Stichpunkte aus der Hilfe geben:
- Error-Ereignis (Fehler)
Zitat:
Das Ereignis Error tritt ein, wenn in Microsoft Access ein Laufzeitfehler erzeugt wird, während ein Formular oder Bericht den Fokus hat. Dies gilt auch für Fehler der Microsoft Jet-Datenbank-Engine, nicht jedoch für Laufzeitfehler in Visual Basic.

- On Error-Anweisung
- Err-Objekt
- Ermitteln der von Visual Basic reservierten Fehlercodes
Dazu gibt es dort reichlich Beispiele als SUB.
Davon suchst du dir ein passendes aus und arbeitest es um, damit es in eine Tabelle schreibt. Den Aufruf dieser Sub fügst du in jeder deiner Ereignisroutinen bei einer On-Error-Anweisung ein. Bei Formularen und Berichten gibt es auch noch das Ereignis "Bei Fehler" wo man sowas unterbringen kann.

Gruß
lorf

Antwort 3 von stirlitz

Perfekt! Danke lorf. Du hast mich auf die richtige Spur gebracht.
In meiner Datenbank öffnet sich ein Formular direkt beim Starten der DB. Das Formular ist mit einer Tabelle in der Backend-Datei verknüpft. Wenn die BE-Datei gelöscht wird, wird eine Fehlermeldung angezeigt. So… D.h. der Fehler tritt erst beim Laden des Formulars auf und nicht, wie ich vermutet habe, beim Starten der Anwendung. Und jetzt, wie Du schon sagtest, kann ich im Ereignis "Bei Fehler" die Fehlermeldung in die Tabelle schreiben.

Gruß stirlitz

Antwort 4 von lorf55

"Die Wege des Herrn sind unerforschlich."
Toll !!! Hätte ich nicht gedacht, dass wir das so schnell lösen.

Gruß
lorf

Antwort 5 von stirlitz

Hallo,

Eine kleine Frage habe ich doch noch. Wie kann ich die Fehlerbeschreibung anzeigen lassen? (Jetzt ohne in die Tabelle zu schreiben)
Wenn ich so vorgehe
Private Sub Form_Error(DataErr As Integer, Response As Integer)
  Debug.Print DataErr, AccessError(DataErr)
End Sub
wird mir das
3024         Datei '|' nicht gefunden
angezeigt. Die automatisch von Access angezeigte Fehlerbeschreibung enthält auch den Pfad der Be-Datei
Datei 'C:\Test_be.accde' nicht gefunden
Und so möchte ich auch haben. Wie kann ich dieses lösen???

Gruß stirlitz

Antwort 6 von lorf55

Hallo stirlitz,
meinst du sowas:

MsgBox "Fehler " & DataErr & ": " & AccessError(DataErr)

Gruß
lorf

Antwort 7 von stirlitz

Nicht ganz. "AccessError(DataErr)" gibt mir die Beschreibung des Fehlers ohne dem Pfad der Datei:
"Datei '|' nicht gefunden".
Ich möschte aber gern wissen, welche Datei nun fehlt.

Gruß stirlitz

Antwort 8 von lorf55

Du könntest ja mal statt dessen dieses ausprobieren:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
   MsgBox Error$(DataErr)
   MsgBox Application.AccessError(DataErr)
   Response = acDataErrDisplay
End Sub

(aus KB208704)
Das ergibt drei Meldungen für einen Fehler. Da kannst du dir die passende aussuchen.
Ein anders Beispiel für Fehlerbehandlung gibts hier.

Gruß
lorf

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: