Цикл VBA и запись набора записей ADODB - PullRequest
2 голосов
/ 22 июля 2011

Я новичок в работе с наборами записей, и я работаю над чем-то, где я получаю набор записей с сервера sql, а затем мне нужно перебрать его, вставив значения в таблицу Excel.

Порядок полей в наборе записей уже правильный, поэтому я должен иметь возможность просто перемещаться от ячейки к ячейке, вставляя каждое значение в пределах диапазона, но я не совсем уверен, как это сделать. Я знаю, что набор записей правильный, потому что я передал его в файл, и все выглядело по порядку.

Это мой код:

Public Sub retrieve()

Dim rsTest As ADODB.Recordset
Set rsTest = New ADODB.Recordset
Set rsTest = DataManager.GetData()

Sheets("Planners").Activate
Dim cel As Range
Dim i As Integer
Dim rsFields As Variant

Do While Not rsTest.EOF

   For Each cel In ActiveSheet.Range("A3:H1000").Cells
     For Each rsFields In rsTest.Fields

     cel = rsTest(rsFields.Name)

     Next
  Next

Loop

End Sub

Заранее спасибо за любую помощь.

1 Ответ

6 голосов
/ 22 июля 2011

Если вам нужны все поля набора записей, вы можете просто сделать это:

Public Sub retrieve()
Dim rsTest As ADODB.Recordset

    Set rsTest = DataManager.GetData()

    If Not rsTest.EOF Then
        Sheets("Planners").Range("A3").CopyFromRecordset rsTest
    End If

End Sub
...