В настоящее время я пытаюсь переместить проект, который запрашивает SQL Сервер из VBA из ODB C в ADODB. Ссылка на объект данных Active X и набор записей 2.8.
Соединение ADODB работает, и набор записей заполняется. Кажется, что набор записей и таблица запросов по каким-то причинам вне моего понимания не нравятся друг другу. Я пытался использовать любой тип With для объекта подключения.
Я сталкиваюсь с ошибкой времени выполнения '1004' Ошибка приложения или объекта.
Вот как выглядит код :
Dim cn As Object
Dim rs As Object
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
With cn
.Open "Driver={SQL Server};Server=xxx;Database=xxx;UID=xxx;PWD=xxx;"
.CommandTimeout = 0
Set rs = .Execute("Select 1")
End With
Debug.Print rs(0)
Dim qtData As QueryTable
Set qtData = ActiveSheet.QueryTables.Add(rs, Destination:=Range("A1"))
With qtData
.Name = "DTBase"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = False
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = False
.BackgroundQuery = False
.EnableEditing = False
End With
'ActiveSheet.ListObjects.Add(xlSrcQuery, rs, Destination:=Selection).QueryTable.Refresh
qtData.Refresh
qtData.Close
qtData.Delete
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing