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。
我尝试用 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。