Hallo,
Ich will mit VBA über MyODBC alle Tabellen einer MySql-DB nach AccessXP verknüpfen, ohne das der Auswahl-Dialog erscheint.
Der entscheidene Befehl:
Set DBext = OpenDatabase("<u>TestDB</u>", , True, "ODBC;DATABASE=test;DSN=TestDB;")
Mit dieser unterstrichenen Angabe erscheint die Fehlermeldung: „Laufzeitfehler 3024: Datei ‚TestDB‘ nicht gefunden!“ Der Eintrag „“ an dieser Stelle öffnet eben den unerwünschten Dialog, und nach Auswahl der Computerdatenquelle funktioniert auch soweit alles.
Kann es sein, dass OpenDatabase() einen Dateidatenquell-DSN verlangt? Ich habe nur einen Benutzer-DSN angelegt, der eben im Dialog nur über ‚Computerdatenquelle‘ ansteuerbar ist. In der Onlinehilfe steht nur „DBName“ („TestDB“) muss ein ODBC-DSN sein…ist es ja aber auch…
Ich hoffe, das war nicht zu verwirrend erklärt und jemand kann mir bei diesem Problem weiterhelfen?
Vielen Dank schonmal!
Gruss,
Daniel
für den Kontext:
Sub dbVerknuepfen()
Dim DBint As Database
Dim DBext As Database
Dim tdint As TableDef
Dim tdext As TableDef
Dim x As Integer
Set DBint = CurrentDb()
Set DBext = OpenDatabase("TestDB", , True, "ODBC;DATABASE=test;DSN=TestDB;")
For x = 0 To DBext.TableDefs.Count - 1
Set tdext = DBext.TableDefs(x)
Set tdint = DBint.CreateTableDef(tdext.Name)
tdint.Connect = "ODBC;DSN=TestDB"
tdint.SourceTableName = tdext.Name
DBint.TableDefs.Append tdint
Next x
DBint.Close
DBext.Close
End Sub