6. September 200718 j 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
6. September 200718 j "On Error Goto" und "On Error Resume Next" sind deine freunde, wenn du VB6 und VBA programmierst. mehr dazu ist z.b. hier zu finden: Error Handling In VBA s'Amstel
6. September 200718 j Hallo, schau Dir mal die Fehler-Behandlung in VB an: VB -32: Errorhandling (Visual Basic Seminar für Einsteiger) vb@rchiv · Tipps & Tricks · Fehler mit OnError Goto / Resume Next abfangen
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.