Mein Client verwendet Access als Front-End für eine SQL Server-Datenbank. Sie haben vor kurzem begonnen, gelegentlich ODBC-3146-Fehler zu erhalten, wenn Sie einige Berichte ausführen. Von dem, was ich sagen kann, ist dies nur ein generischer ODBC-Aufruf Fehler fehlgeschlagen.Ermitteln Sie die Ursache des ODBC-Fehlers (Fehler 3146) mit ms-access?
Ich habe versucht, einige Fehlerbehandlung im VB-Skript, das die Berichte startet, zu haften, aber ich habe kein Glück, zusätzliche Fehlerinformationen zu erhalten.
Code sieht ein bisschen so aus.
Public Function RunReports()
On Error GoTo MyErrorTrap
DoCmd.OpenReport "blah", acViewPreview
DoCmd.Close
DoCmd.OpenReport "foo", acViewPreview
DoCmd.Close
Exit_function:
Exit Function
MyErrorTrap:
Dim errX As DAO.Error
Dim MyError As Error
If Errors.Count > 1 'This always seems to be 0, so no help
For Each errX In DAO.Errors 'These are empty even if dont check for Errors.Count
Debug.Print "ODBC Error"
Debug.Print errX.Number
Debug.Print errX.Description
Next errX
Else
Debug.Print "VBA Error"
Debug.Print Err.Number
Debug.Print Err.Description
End If
'Also have tried checking DBEngine.Errors, but this is empty too
End Function
Ich habe aktiviert auch auf der ODBC-Seite verfolgt, aber das hat die Dinge nach unten zu viel festgefahren, und ich bin so weit nicht in der Lage, die ODBC-Fehler zu erstellen.
Ich bin völlig offen für Vorschläge zur Diagnose.
Mein "Error" -Typ hat keine .Number oder .Description - soll etwas anders sein? – AnotherParker
Ich nehme an, dass Ihr Fehler wahrscheinlich kein 'dbEngine' Fehler ist. Können Sie mehr Details angeben? Wahrscheinlich braucht es einen eigenen Beitrag. – Smandoli