Я пытаюсь получить несколько строк из SQL Server, а затем манипулировать ими в VBA.У меня есть соединение с БД, работающее, и я могу получить все необходимые данные с помощью функции Range (). CopyFromRecordSet (), однако я просто хочу манипулировать данными в VBA и вообще не вносить в них рабочий лист.
С помощью объекта Recordset я могу получить доступ к имени поля и первой строке данных, но не могу получить доступ ко всем строкам.
Когда я использую функцию Recordset.GetRows (), я могу получить доступ ко всемданные, но они никак не структурированы, и имена полей не привязаны к записи, поэтому их очень сложно использовать.
Как я могу циклически проходить по разным строкам в моих результатах структурированным образом?
Вот код, который у меня есть:
Sub grabData()
Dim dbConn As ADODB.Connection
Set dbConn = openDBConn()
Dim results As ADODB.Recordset
Set results = dbConn.Execute("SELECT Field1, Field2, Field3 FROM Table WHERE Field1 = 'Foobar' AND Field2 > '42'")
'Cycles through the first row of data'
For Each f In results.Fields
Debug.Print f.Name & " " & f
Next
'Cycles through all data, but no Column names'
For Each f In results.GetRows
Debug.Print f
Next
End Sub