Странная проблема и не совсем понятно, с чего начать.
Попытка получить данные SQL Server в Excel, чтобы пользователь мог обновить запрос, и он получит самые последние данные.У меня есть созданное представление, которое связывает несколько таблиц и упрощает имена полей.
У меня есть VBA для копирования из набора записей в мой лист, но после 11-го столбца он ничего не возвращает.Половина полей по существу отсутствует.
Если я изменю запрос, чтобы вернуть просто пропущенный столбец, он возвращает около 30 записей из 12 000 и с интервалом воколо 140 ячеек пробелов (каждый пробел отличается) между каждой записью, которую она возвращает.
Не совсем уверен, что я делаю не так здесь.
Код VBA здесь:
Public Function dbString() As String
dbString = "DRIVER={SQL Server};SERVER=<<SERVERNAME>>;DATABASE=<<DATABASENAME>>;Integrated_Security=SSPI"
End Function
Sub getSQLData_QA()
Dim db As Object
Dim rs As Object
Set db = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Set qa = Sheets("QA_Listing")
Application.Calculation = xlCalculationManual
db.Open dbString
With rs
.ActiveConnection = db
.Open " SELECT * " & _
" FROM SRV_QBA__13W; "
End With
qa.Range("A2:Z100000").Delete xlUp
qa.Range("A2").CopyFromRecordset rs
rs.Close
db.Close
Set db = Nothing
Set rs = Nothing
Application.Calculation = xlCalculationAutomatic
End Sub