在codese中执行时,DAO.Recordset只返回一条记录

时间:2012-01-16 16:07:13

标签: vba ms-access-2007 dao

此语句每次执行时始终只返回一条记录

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("Select book_name from book")
Dim i As Integer
For i = 0 To rs.RecordCount - 1
lbBooks.AddItem rs!book_name
rs.MoveNext
Next

原因可能是什么

1 个答案:

答案 0 :(得分:4)

我相信RecordCount的{​​{1}}属性是动态设置为从游标中读取的数据量。也就是说,当它第一次打开时,它被设置为1;如果你Recordset,它会将它设置为集合中的实际记录数。然而,你有回到开始的问题:你必须让记录集以特定的模式打开(我忘记了,从我的头顶),以便能够任意地前后移动光标指针。 / p>

迭代游标的常用方法是使用rs.MoveLast循环,检查游标的文件结尾:

while