Woher kann ich eine Fehlermeldungstabelle von
Access 95, 97 bzw. 2000 erhalten?
Danke für eure Antworten sagt der shopper
Woher kann ich eine Fehlermeldungstabelle von
Access 95, 97 bzw. 2000 erhalten?
Danke für eure Antworten sagt der shopper
…hab Dir gerade eine 2000er zugemailt mit allen 1193 Fehlercodes und deren Meldungen.
Gruß aus Finnland
Stephan
Der Code dazu . . .
Folg. Funktion generiert Dir die Fehlercode-Tabelle (in A2000 vorher Verweis auf Microsoft ADO Ext. 2.5 setzen)
Bestimmen der für Microsoft Access und die Microsoft Jet-Datenbank-Engine reservierten Fehlercodes (aus der Access-Hilfe, Suchen nach: Fehlerbehandlung, dort etwa der Ergebnis-Eintrag Nr. 400, grins!). Eine Hilfe, die Hilfe braucht, zumindest in der 2000er Version.
Aber es flutscht.
Function AccessUndJetFehlertabelle() As Boolean
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim cnn As ADODB.Connection
Dim rst As New ADODB.Recordset, lngCode As Long
Dim strAccessErr As String
Const conAppObjectError = „Anwendungs- oder objektdefinierter Fehler“
On Error GoTo Error_AccessUndJetFehlertabelle
Set cnn = CurrentProject.Connection
’ Fehlertabelle mit Fehlernummer und Fehlerbeschreibung erstellen.
tbl.Name = „AccessUndJetFehler“
tbl.Columns.Append „Fehlercode“, adInteger
tbl.Columns.Append „Fehlerzeichenfolge“, adLongVarWChar
Set cat.ActiveConnection = cnn
cat.Tables.Append tbl
’ Datensatzgruppe für Fehlertabelle öffnen.
rst.Open „AccessUndJetFehler“, cnn, adOpenStatic, adLockOptimistic
’ Schleife durch Fehlercodes durchlaufen.
For lngCode = 0 To 3500
On Error Resume Next
’ Jeden Fehler berücksichtigen.
strAccessErr = AccessError(lngCode)
DoCmd.Hourglass True
’ Fehlernummern ohne zugehörige Zeichenfolge überspringen.
If strAccessErr „“ Then
’ Codes, die anwendungs- oder objektdefinierte Fehler generieren, überspringen.
If strAccessErr conAppObjectError Then
’ Jeden Fehlercode und jede Fehlerzeichenfolge zur Fehlertabelle hinzufügen.
rst.AddNew
rst!Fehlercode = lngCode
’ Zeichenfolge an Memo-Feld anfügen.
rst!Fehlerzeichenfolge = strAccessErr
rst.Update
End If
End If
Next lngCode
’ Datensatzgruppe schließen.
rst.Close
DoCmd.Hourglass False
RefreshDatabaseWindow
MsgBox „Access- und Jet-Fehlertabelle erstellt.“
AccessUndJetFehlertabelle = True
Exit_AccessUndJetFehlertabelle:
Exit Function
Error_AccessUndJetFehlertabelle:
MsgBox Err & ": " & Err.Description
AccessUndJetFehlertabelle = False
Resume Exit_AccessUndJetFehlertabelle
End Function
Hallo Stephan,
bei funktioniert dieser Code nicht in AC 97, oder muss ich was umstellen?
gruss moritzbock
Folg. Funktion generiert Dir die Fehlercode-Tabelle (in A2000
vorher Verweis auf Microsoft ADO Ext. 2.5 setzen)Bestimmen der für Microsoft Access und die Microsoft
Jet-Datenbank-Engine reservierten Fehlercodes (aus der
Access-Hilfe, Suchen nach: Fehlerbehandlung, dort etwa der
Ergebnis-Eintrag Nr. 400, grins!). Eine Hilfe, die Hilfe
braucht, zumindest in der 2000er Version.Aber es flutscht.
Der Code dazu für 97
Moin,
hab’ Dir das gerade für 97 mal umgefriemelt (müßte so flutschen):
Function jetfehler()
Dim tbl As TableDef
Dim db As Database
Dim rs As Recordset, lngCode As Long
Dim f1 As Field, f2 As Field
Dim strAccessErr As String
Const conAppObjectError = „Anwendungs- oder objektdefinierter Fehler“
On Error GoTo Error_AccessUndJetFehlertabelle
Set db = CurrentDb
Set tbl = db.CreateTableDef(„AccessUndJetFehlertabelle“)
Set f1 = tbl.CreateField(„FehlerCode“, dbText)
Set f2 = tbl.CreateField(„Beschreibung“, dbMemo)
tbl.Fields.Append f1
tbl.Fields.Append f2
db.TableDefs.Append tbl
Set rs = db.OpenRecordset(„AccessUndJetFehlertabelle“)
For lngCode = 0 To 3500
On Error Resume Next
’ Jeden Fehler berücksichtigen.
strAccessErr = AccessError(lngCode)
DoCmd.Hourglass True
’ Fehlernummern ohne zugehörige Zeichenfolge überspringen.
If strAccessErr „“ Then
’ Codes, die anwendungs- oder objektdefinierte Fehler generieren, überspringen.
If strAccessErr conAppObjectError Then
’ Jeden Fehlercode und jede Fehlerzeichenfolge zur Fehlertabelle hinzufügen.
rs.AddNew
rs!FehlerCode = lngCode
’ Zeichenfolge an Memo-Feld anfügen.
rs!Beschreibung = strAccessErr
rs.Update
End If
End If
Next lngCode
’ Datensatzgruppe schließen.
rs.Close
DoCmd.Hourglass False
RefreshDatabaseWindow
MsgBox „Access- und Jet-Fehlertabelle erstellt.“
'AccessUndJetFehlertabelle = True
Exit_AccessUndJetFehlertabelle:
Exit Function
Error_AccessUndJetFehlertabelle:
MsgBox Err & ": " & Err.Description
'AccessUndJetFehlertabelle = False
Resume Exit_AccessUndJetFehlertabelle
End Function