Problemstellung:
Dokumentieren von Laufzeitfehlern innerhalb einer DB. Ausgabe wahlweise in eine Tabelle
oder einer Textdatei.
Voraussetzungen:
Das Bsp ist ab A97 lauffähig.
Dem Errorhandler jeder Funktion oder Sub wird die Funktion Wanzenlog übergeben. Bei Wahl der Ausgabe=Textdatei,
wird im Verzeichnis der DB eine Datei "Fehler.log" erstellt und fort geschrieben.
Diese Funktion hat 3 Argumente, Name der Funktion oder Sub, Zeilennummer falls vorhanden (wird durch
die undokumentierte Funktion "Erl" ermittelt) und die Art der Ausgabe.
Wird die Ausgabe Tabelle gewählt, muss die Tabelle "tbl_Ausgabe" aber vorhanden sein. Es erfolgt
keine Prüfung ob diese existiert!
Funktionskopf: (genaues Listing s. Bsp-DB)
Public Function WanzenLog(routineName As String, LN As Long, boolAusgabe As Boolean)
Argumente:
routineName =Name der Routine
LN =Zeilenummer
boolAusgabe =Art der Ausgabe, True=Ausgabe in Tabelle, False=Ausgabe in Textdatei
Löst die jeweilige Prozedur eine Fehler aus werden folgende Werte ermittelt und aufgezeichnet:
1. Datum und Uhrzeit des Fehlers
2. Pfad und Dateiname der DB
3. Name des Objektes in der Fehler ausgelöst wurde
4. Name der Funktion oder Sub
5. Aktueller User
6. Fehlernummer
7. Zeilennummer, wenn vorhanden
8. Fehlerbeschreibung
z.B. Errorhandler für eine Sub die den Err 11, Divison durch Null auslöst,
wobei Me.txt_B den Wert 0 hat. Das Ergebnis wird in eine Log-Datei geschrieben da boolAusgabe=False
Private Sub btn_Error94_Click() On Error GoTo Err_Handler Dim strFunktionVariable As String Dim i As Integer strFunktionVariable = "btn_Error94_Click" i = Me.txt_A / Me.txt_B Exit_Here: Exit Sub Err_Handler: Call WanzenLog(strFunktionVariable, Erl, False) Resume Exit_Here End Sub
wobei der Übergabeparameter "Erl" für die undokumentierte Funktion "Erl" zur Ermittlung der
Zeilennummer steht, soweit vorhanden.
Der Originalcode stammt von Nouba aus dem MOF 2003 und wurde von mir verändert und angepasst.
Erstellen eines Fehlerlogs
ab A97
Die Zip-Datei enthält ein Version für A97 und eine ab A00
Ähnliche Artikel
Weiterlesen...