VBA循环和写ADODB记录集
问题描述:
我是新来处理记录集,我正在从事一个从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
预先感谢任何及所有的帮助。
答
如果你想把所有的记录字段,那么你可以只是这样做:
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
哇,这工作得十分完美,我认为这是比这更困难。 谢谢你。 – jz3
你不需要在这种情况下声明一个记录集 - 实际上这可以在一行中完成:Sheets(“Planners”)。Range(“A3”)。CopyFromRecordset DataManager.GetData – Nick