Excel VBA-在工作表中显示记录集而不循环

Excel VBA-在工作表中显示记录集而不循环,excel,vba,ms-access,Excel,Vba,Ms Access,我有一些代码,可以将数据从访问表检索到记录集。 我想在我的工作表上显示这些数据,但我很难做到这一点。 我创建了一个名为test的工作表,同时试图解决这个问题,我尝试了: Test.Range("A1").CopyFromRecordset rs 但那没什么用。 我已经能够用 rs.MoveFirst rowctr = 2 Do Until rs.EOF Test.Cells(rowctr, 1) = rs![Name] Test.Cells(rowctr,

我有一些代码,可以将数据从访问表检索到
记录集
。 我想在我的工作表上显示这些数据,但我很难做到这一点。 我创建了一个名为test的工作表,同时试图解决这个问题,我尝试了:

Test.Range("A1").CopyFromRecordset rs
但那没什么用。 我已经能够用

rs.MoveFirst
rowctr = 2
Do Until rs.EOF
    Test.Cells(rowctr, 1) = rs![Name]
    Test.Cells(rowctr, 2) = rs![Account Type]
    Test.Cells(rowctr, 3) = rs![Forecast Date]
    Test.Cells(rowctr, 4) = rs![Forecast Value]
    Test.Cells(rowctr, 5) = rs![Actual Date]
    Test.Cells(rowctr, 6) = rs![Actual Value]
    rowctr = rowctr + 1
    rs.MoveNext
Loop
但我想有比这更好的方法吗? 我已经用普通数组做了很多,用一个命令填充整个数组的范围没有问题。
不过,我没有对记录集做过太多的工作。

我通常只使用
CopyFromRecordset
(如您所示)-它对我有效,所以另一部分可能还有另一个问题?Was
Test.Range(“A1”).CopyFromRecordset rs
在创建rs后立即执行?是的,我在创建rs后直接使用了CopyFromRecordset代码。名称将for循环置于上方我如何创建记录集?在
.CopyFromRecordset