Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Ciao Alessandro,
dando per scontato che non hai problemi di accesso dell'utente root (visto che stai lavorando in locale), credo che nella tua stringa di connessione ti manchi l'indicazione del nome della connessione DSN da utilizzare.
Nella mia macchina ho creato una connessione DSN chiamata TestMySQL e successivamente con questa routine riesco ad accedere al db remoto e collegare una tabella.
Private Sub LinkTable()
Dim wk As Workspace
Dim Mytdf As TableDef
Dim cn As Connection
Dim strConnect As String
Set wk = DBEngine.CreateWorkspace("ODBCDirect", "", "", dbUseODBC)
strConnect = "ODBC;DATABASE=utenti;UID=root;PWD=;DSN=TestMySql"
Set cn = wk.OpenConnection("Connect1", dbDriverNoPrompt, _
False, strConnect)
On Error Resume Next
CurrentDb.TableDefs.Delete "My_Table"
On Error GoTo 0
Set Mytdf = CurrentDb.CreateTableDef("My_Table")
Mytdf.Connect = strConnect
Mytdf.SourceTableName = "user"
CurrentDb.TableDefs.Append Mytdf
cn.Close
wk.Close
End Sub
---
Modificando il tuo codice come segue, la connessione viene stabilita senza errori
Dim wrkODBC As Workspace
Dim mysqlcon As Object
Set wrkODBC = CreateWorkspace("newODBCWorkspace", "admin", "", dbUseODBC)
Set mysqlcon = wrkODBC.OpenConnection( _
"ODBC;DRIVER={MySQL ODBC 5.3 Unicode Driver};" _
& "SERVER=localhost;port=3306;" _
& "DATABASE=utenti;" _
& "USER=root;" _
& "PASSWORD=;" _
& "DSN=TestMySql;" _
& "Option=3;")
David