Excel VBA:写入mysql数据库

时间:2010-05-12 18:35:52

标签: mysql sql excel excel-vba vba

我想在Excel中编写一个写入mysql数据库的宏。有人可以让我开始这个吗?

2 个答案:

答案 0 :(得分:7)

您可以使用连接字符串和ADO连接到MySQL:

''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

您还可以使用Jet驱动程序将DSN连接到Excel:

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

答案 1 :(得分:2)

写入mysql数据库与写入任何其他数据库没什么不同。

您将创建一个ADODB.Connection对象,。用appropriate connection string打开它并使用.Execute方法(或ADODB.Command)执行sql。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms807027.aspx

您必须安装mysql访问驱动程序(ODBC或OLEDB)并从您的vba项目中引用Microsoft ActiveX Data Objects 2.8。