Я сделал следующие объявления объекта ADODB в коде.
Dim OConn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Set OConn = New ADODB.Connection
Set rs = New ADODB.Recordset
Я хотел бы использовать следующий код для чтения из таблицы в файле базы данных MS Access и генерации набора записей, rs.
'Get the table name from the search results.
tableName = ThisWorkbook.Sheets("PLC Module Data").Cells(2, 9).Value
'Set the SQL string.
strSql = "SELECT Code, Points, Type, Description, Rating " & _
"FROM " & tableName
'Set the connection string and open the connection to the Access DB.
OConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=Q:\AutoCAD Improvements\PLC IO Utility Docs\PLC IO Spreadsheet
App\PLC IO App\ace_plc.mdb"
OConn.Open
'Open the recordset and error out if nothing is returned
Set rs = OConn.Execute(strSql)
If rs.EOF Then
MsgBox "No matching records found."
rs.Close
OConn.Close
Exit Sub
End If
Я проверил оператор запроса в самом файле Access, и он работает нормально.Я всегда получаю сообщение об ошибке
Ошибка времени выполнения-2147217900 (80040e14) ': ошибка автоматизации
в строке,
Set rs = OConn.Execute(strSql)
Если бы кто-нибудь мог взглянуть на мой код и определить, почему это происходит, это было бы очень полезно.Я посмотрел похожие примеры в Интернете, и похоже, что это должно быть правильно.