2011-07-22 160 views
2

我是新來處理記錄集,我正在從事一個從sql服務器檢索記錄集,然後我需要通過它循環粘貼在Excel電子表格中的值。VBA循環和寫ADODB記錄集

記錄集中字段的順序已經是正確的了,所以我應該能夠在一個範圍內從一個單元格移動到另一個單元格,但我不確定如何去做。我知道記錄集是正確的,因爲我將它輸出到一個文件中,並且所有內容都按順序排列。

這是我到目前爲止的代碼:

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 

預先感謝任何及所有的幫助。

回答

6

如果你想把所有的記錄字段,那麼你可以只是這樣做:

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 
+0

哇,這工作得十分完美,我認爲這是比這更困難。 謝謝你。 – jz3

+0

你不需要在這種情況下聲明一個記錄集 - 實際上這可以在一行中完成:Sheets(「Planners」)。Range(「A3」)。CopyFromRecordset DataManager.GetData – Nick