0

在使用 VBA 和 DAO.Recordset 时,我遇到了一个奇怪的问题。我目前正在遍历记录集并将每次迭代的相应字段保存在数组中。但是每次由于while循环调用“.MoveNext”时,存储在“rs.Fields.Field(i).Value”中的信息都会被覆盖,因此这些字段不可用。我在调试过程中发现了这一点。

一些相关代码:

如果不是 rs 什么都不是,那么
      如果 rs.RecordCount > 0 那么
        带rs
            虽然不是 .EOF
                ReDim Preserve fieldSet(0 To i + 1) As DAO.Fields
                设置 fieldSet(i) = rs.Fields
                i = i + 1 ' 此时值仍然完好无损
                .MoveNext ' 这里的值字段中仅存储“无当前记录”
            文德
        结束于
      万一

希望有人知道是什么原因造成的。提前致谢。

4

1 回答 1

1

尝试在每条记录中为字段/列计数运行另一个循环:

Do While Not rs.EOF
   For j = 0 to rs.Fields.Count
     Set fieldSet(j) = rs.Fields.Field(j).Value 
     '-- do stuff
   Next j
   rs.MoveNext
Loop
于 2013-01-22T14:26:44.737 回答