Hallo,
ich hab folgendes Problem, ich hab eine Tabellenverlinkung von Access Datenbank zu einer anderen Access Datenbank automatisiert.
Jetz hab ich folgendes Problem, wenn ich eine Tabelle einbinden möchte, die aber in der Datenbank aus der ich suche nicht vorhanden ist, bekomme ich logischerweise eine Fehlermeldung, doch ich kann aus dieser fehlermeldung nur zurück in den debug modus, was ich nicht will, ich möchte, eine art error handling, bei der ich die fehlermeldungen vom system abfange, den fehlertext in eine messagebox gebe aus der ich anschließend das programm beenden kann.
Z.b.
Fehlermeldung: Tabelle "sowieso" konnte nicht in Datenbank 2 gefunden werden.
Laufzeitfehler : blalabla
_____________________
| |
| Programm abbrechen | <---- button
|____________________|
Kann mir jemand helfen?
Wenn es hilft hier mein code für die Tabellenverlinkung:
********************************************************
Option Compare Database
Option Explicit
Dim dbsCurrent As DAO.Database
Dim dbsForeign As DAO.Database
Dim rst As DAO.Recordset
Dim qdf As DAO.QueryDef
Dim tdf As DAO.TableDef
Dim str As String
Dim strtabn As String
Dim strPfad As String
Dim TableExists As Boolean
Private Sub Befehl9_Click()
' Datenbanken öffnen
Set dbsCurrent = CurrentDb
Set dbsForeign = OpenDatabase("DATABASEtwo.mdb")
Set qdf = dbsCurrent.QueryDefs("abfTabellen_Pfad")
Set rst = qdf.OpenRecordset
rst.MoveFirst
' Solange nicht End of File ist
Do While Not rst.EOF
Debug.Print "Tabellename: " & rst!TabName
Debug.Print "Pfad ="; rst!Pfad
strtabn = rst!TabName
strPfad = rst!Pfad
' Festlegen der Tabellenexistenz
For Each tdf In CurrentDb.TableDefs
If DCount("*", "MSysObjects", "Name='" & strtabn & "'") Then
TableExists = True
Else
TableExists = False
End If
' Abfrage ob Tabelle vorhanden, löschen-verlinken bzw. verlinken
If TableExists = True Then
DoCmd.DeleteObject acTable, strtabn
DoCmd.TransferDatabase acLink, "Microsoft Access", strPfad, acTable, strtabn, strtabn
Else
DoCmd.TransferDatabase acLink, "Microsoft Access", strPfad, acTable, strtabn, strtabn
End If
Next
' Nächster Datensatz
rst.MoveNext
Loop
End Sub
*****************************************************
thx mamuc