2017-02-16 101 views
0

我收到一个错误,我不明白是什么问题。这里是我的代码尝试使用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” 对象变量或与块变量未设置。

我不明白我做错了什么。

+0

缺少的单引号? –

回答

1

该行Set oConn = New ADODB.Connection是没有必要的。相反,当您标注rsoConn加注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/

+0

谢谢,它为我工作。 – MMSA

相关问题