VBA: OpenDatabase (MYODBC-DSN) ?

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

Das geht so:

 Set DBext = OpenDatabase("", dbDriverNoPrompt, \_
 True,"ODBC;DATABASE=test;DSN=TestDB;")

Gruß aus dem Norden
Reinhard Kraasch (http://www.kraasch.de - Access Tipps & Tricks)

Vielen Dank!
Hallo,

„dbDriverNoPrompt“ - das wars?

Ja, es funktioniert wie gewünscht.
Vielleicht solte ich nicht so kompliziert denken…:smile:
Deine Antwort hat mir auf jeden Fall sehr weitergeholfen.

Nochmals Danke und Gruss,
Daniel