2010-05-12 6 views

Répondre

7

Vous pouvez vous connecter à MySQL avec une chaîne de connexion et ADO:

''http://support.microsoft.com/kb/246335 
Set cn = CreateObject("ADODB.Connection") 
Set rs = CreateObject("ADODB.Recordset") 

strCon = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=MyDB;" _ 
& "User=root;Password=pw;Option=3;" 

cn.Open strCon 

Vous pouvez également utiliser DSN avec une connexion à Excel à l'aide du pilote de Jet:

Dim cn As ADODB.Connection 

''Not the best way to get the name, just convenient for notes 
strFile = Workbooks(1).FullName 
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _ 
    & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";" 

Set cn = CreateObject("ADODB.Connection") 

''For this to work, you must create a DSN and use the name in place of 
''DSNName 
strSQL = "INSERT INTO [ODBC;DSN=DSNName;].NameOfMySQLTable " _ 
& "Select AnyField As NameOfMySQLField FROM [Sheet1$];" 

cn.Execute strSQL 
+0

grâce remou, u peut montrer moi comment j'exécuterais la déclaration SQL? –

+0

J'ai ajouté quelques notes, mais MySQL n'est pas installé sur ce PC à ce moment-là, donc je travaille à partir de mes notes. Les suggestions ci-dessus ne sont en aucun cas les seuls moyens de s'y prendre. – Fionnuala

+0

@Remou: Hey, je reçois l'erreur: 'Erreur de compilation: Types définis par l'utilisateur non définis' sur la ligne 'Dim cn As ADODB.Connection' Qu'est-ce qui pourrait être faux? –

2

L'écriture dans une base de données mysql n'est pas différente de l'écriture dans une autre base de données.

Vous devez créer un objet ADODB.Connection, .Ouvrez-le avec un appropriate connection string et utilisez la méthode .Execute (ou ADODB.Command) pour exécuter sql. Pour plus d'informations, voir http://msdn.microsoft.com/en-us/library/ms807027.aspx pour plus d'informations.

Vous devez avoir installé un pilote d'accès mysql (ODBC ou OLEDB) et référencer Microsoft ActiveX Data Objects 2.8 à partir de votre projet vba.

Questions connexes