VBA:用记录集填充数组无法正常工作

VBA: filling of an array with a record set not working properly

我尝试用 DAO 记录集的字段填充一个动态大小的数组:

Set daoRst3 = gDB.OpenRecordset("SELECT * FROM XYZ")
i = 0
daoRst3.MoveFirst
Do Until daoRst3.EOF
    ReDim Preserve recordSet(0 To i)
    recordSet(i) = daoRst3.Fields(0)
    daoRst3.MoveNext
    i = i + 1

recordSet daoRst3 有 148 个字段(反映了查询中的正确数量):

但是在循环 Do Until 循环之后,未调整大小的数组

Dim recordSet()

只有两个字段,这是不正确的:

这里有什么问题?

非常感谢!

以下代码已编译并运行:

Set daoRst3 = gDB.OpenRecordset("SELECT * FROM XYZ")
For i = 0 To daoRst3.Fields.Count - 1
ReDim Preserve recordSet(0 To i)
recordSet(i) = daoRst3.Fields(i).Value
Next

感谢用户A.S.H。