2010-11-29 175 views
1

我在查找如何使用Excel VBA查询MySQL数据库的示例。Excel VBA:查询MySQL数据库

我能够使用数据\自其他来源\从微软查询从数据库导入数据,但什么我实际上是寻找一种方法不是直接将其导入到电子表格,而是转换为VBA中的数据结构,以便在将结果输出到电子表格之前进一步处理。我怎样才能做到这一点?

+0

如:http://stackoverflow.com/questions/2821718/excel-vba-writing-to-mysql-database/2821911#2821911? – Fionnuala 2010-11-29 16:46:22

回答

4

连接:

conMySQL.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};" & "SERVER=" & server & ";" & " DATABASE=" & database & ";" & "UID=" & login_user & ";PWD=" & password & "; OPTION=3; PORT=" & port & ";Connect Timeout=20;" 

    'open the connection 
    conMySQL.Open 

然后询问:

strSQL = "SELECT x FROM some_table" 
MySQL.Query (strSQL) 

With rsTemporary 
     Do Until .EOF 
      recordCount = recordCount + 1 
      some_variable = ![supcode] 
      rsTemporary.MoveNext 
     Loop 
End With 
     MySQL.closeCon 
0

这个工作对我来说:

Set conn = New ADODB.Connection 
conn.Open "DRIVER={MySQL ODBC 5.3 Unicode Driver}" _ 
& ";SERVER=" & server_name _ 
& ";DATABASE=" & database_name _ 
& ";UID=" & user_id _ 
& ";PWD=" & password _ 
& ";OPTION=3" ' 

Set rs1 = New ADODB.Recordset 
sqlstr = "SELECT * FROM `table1` WHERE `ID`=" & ID & ";" 
rs1.Open sqlstr, conn, adOpenStatic 
With Worksheets("Main").Cells(1, 1) 
.ClearContents 
.CopyFromRecordset rs1 
End With 
rs1.Close 
Set rs1 = Nothing