尝试使用VBA将数据从MySQL提取到Excel

我得到一个错误,我不明白是什么问题。 这是我的代码

Sub test() Dim rs As ADODB.Recordset Dim sqlstr As String ' SQL to perform various actions Dim oConn As ADODB.Connection Set oConn = New ADODB.Connection oConn.Open "DRIVER={MySQL ODBC 5.3 Unicode Driver};" & _ "SERVER=ETS-DEV-01;" & _ "DATABASE=reporting;" & _ "USER=guest_user;" & _ "PASSWORD=0X4ZT9kwsY%yGOp;" & _ "Option=3" sqlstr = "select * from tveuptimes" rs.Open sqlstr, oConn End Sub 

我得到错误:运行时错误'91'对象variables或未设置块variables。

我不明白我做错了什么。

Set oConn = New ADODB.Connection是没有必要的。 相反,当你维rsoConn在types之前添加New这个单词时,像这样:

 Sub test() Dim rs As New ADODB.Recordset Dim sqlstr As String Dim oConn As New ADODB.Connection oConn.Open "DRIVER={MySQL ODBC 5.3 Unicode Driver};" & _ "SERVER=ETS-DEV-01;" & _ "DATABASE=reporting;" & _ "USER=guest_user;" & _ "PASSWORD=0X4ZT9kwsY%yGOp;" & _ "Option=3" sqlstr = "select * from tveuptimes" rs.Open sqlstr, oConn End Sub 

这里有一个很好的教程: http : //analysistabs.com/excel-vba/ado-sql-macros-connecting-database/