2017-02-16 5 views
0

Я получаю сообщение об ошибке, и я не понимаю, в чем проблема. Вот мой кодПопытка извлечь данные из MySQL в Excel с помощью VBA

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 не требуется. Вместо этого, когда вы размерности rs и oConn добавить слово 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

Смежные вопросы