ich hab' gerade ein kleines Problemchen mit einer ADO-Abfrage auf eine Access-Datenbank.
Vielleicht könnt Ihr mir ja dabei helfen ...
Zu Beginn meines Modules schalte ich "eine Fehlerbehandlung ein" mittels:
On Error GoTo ErrorHandler:
Im Laufe des Codings lese ich dann alle Datensätze aus einer Access-DB.
dbRecordSet.Open "SELECT * FROM tabV2", dbConnection, adOpenKeyset, adLockOptimistic
Wenn nun die angesprochene Tabelle in der DB nicht enthalten ist wird ein Fehler ausgelöst - so soll es ja auch sein. Das Mudul springt in den Errorhandler und schreibt mir eine Info dazu in eine Excel-Tabelle ... siehe Coding:
ProzedurEnde:
On Error Resume Next
dbRecordSet.Close
dbConnection.Close
Unload ufSteuerung
tabVerantwortlich.Visible = xlSheetVisible
Application.ScreenUpdating = True
Exit Sub
ErrorHandler:
Application.EnableEvents = True
Application.Calculation = xlCalculationManual
If Err.Number = -2147217865 Then
SchreibeFehlerEintrag "VerantwortlichLesen", "Datenbanktabelle nicht gefunden"
Else
SchreibeFehlerEintrag "VerantwortlichLesen", "Ein Fehler :-("
End If
Application.Calculation = xlCalculationAutomatic
On Error GoTo 0
GoTo ProzedurEnde
Am Ende des Error-Handlers springe ich dann an die Stelle ProzedurEnde.
Dort stoppt Excel dann bei der Stelle "dbRecordSet.Close". Eigentlich klar, denn das RecordSet konnte ja nicht geöffnet werden.
Dennoch die Frage: Warum greift hier "On Error Resume Next" nicht?
Vielen Dank für Eure Beschäftigung mit meiner Frage und schon jetzt vielen Dank für Eure Ideen dazu ...
Peter