[MS Access VBA / MySQL]

diego.torres

Newbie
Registriert
Jan. 2008
Beiträge
4
Hallo an die VB(A) Gurus,

ich versuche eine MySQL Datenbank bzw. deren Tabellen nach MS ACCESS via VBA zu verbinden. Wenn ich diese manuell mache, funktioniert das ganz einwandfrei und schnell.
Code-Auszug:
Function connectSQLDB()
Dim db As DAO.Database
Const TabCount = 15
Dim Tabellen(TabCount) As Variant
Dim i As Long

Tabellen(0) = "tabAnsprech"
Tabellen(1) = "tabCPU"
Tabellen(2) = "tabDemDev"
Tabellen(3) = "tabDevices"
Tabellen(4) = "tabDevType"
Tabellen(5) = "tabGlobal"
Tabellen(6) = "tabKunde"
Tabellen(7) = "tabLeser"
Tabellen(8) = "tabMemory"
Tabellen(9) = "tabOS"
Tabellen(10) = "tabRadio"
Tabellen(11) = "tabUser"
Tabellen(12) = "tabVB"
Tabellen(13) = "tabDemDevDetail"
Tabellen(14) = "tabKeyboard"
Tabellen(15) = "tabDeliveryAddress"

For i = 0 To TabCount
DoCmd.TransferDatabase acLink, "ODBC-Datenbanken", "ODBC;DSN=DemoGeraeteDB;UID=Work;PWD=12345;LANGUAGE=us_english;DATABASE=demodevicesdb", acTable, Tabellen(i), Tabellen(i), False, True
Next
End Function

Und wenn ich dann versuche die Function laufen zu lassen bekomme ich folgenden Fehlermeldung: (siehe Anhang)
Verbunden ist die MySQL Datenbank über den ODBC-Connector 3.51.22 von MySQL. Wie gesagt, wenn ich versuche die Tabellen manuell verbinde klappt das ganz super. Automatisiert leider ncht.
 

Anhänge

  • Pic200801YD12.jpg
    Pic200801YD12.jpg
    10,6 KB · Aufrufe: 290
Hallo Leute, ich hab' die Lösung gefunden. Hier ein Ausschnitt:
Const TabCount = 15
Dim Tabellen(TabCount) As Variant
Dim i As Long

Tabellen(0) = "tabAnsprech"
Tabellen(1) = "tabCPU"
Tabellen(2) = "tabDemDev"
Tabellen(3) = "tabDevices"
Tabellen(4) = "tabDevType"
Tabellen(5) = "tabGlobal"
Tabellen(6) = "tabKunde"
Tabellen(7) = "tabLeser"
Tabellen(8) = "tabMemory"
Tabellen(9) = "tabOS"
Tabellen(10) = "tabRadio"
Tabellen(11) = "tabUser"
Tabellen(12) = "tabVB"
Tabellen(13) = "tabDemDevDetail"
Tabellen(14) = "tabKeyboard"
Tabellen(15) = "tabDeliveryAddress"

For i = 0 To TabCount
If veri_tabls(Tabellen(i)) = 1 Then DoCmd.DeleteObject acTable, Tabellen(i)'Tabellen löschen vor wiederverbinden.
DoCmd.TransferDatabase acLink, "ODBC", "ODBC;DRIVER={MySQL ODBC 3.51 Driver};DSN=MySQLDemogeraete;SERVER=10.49.10.118;port=3307;" & _
"DATABASE=demodevicesdb;USER=xxxxx;PASSWORD=xxxxx", acTable, Tabellen(i), Tabellen(i)
Next

 
Zurück
Oben