2017-02-16 97 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

相關問題