mamuc Geschrieben 6. September 2007 Geschrieben 6. September 2007 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 Zitieren
Amstelchen Geschrieben 6. September 2007 Geschrieben 6. September 2007 "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 Zitieren
developer Geschrieben 6. September 2007 Geschrieben 6. September 2007 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.