Office中国论坛/Access中国论坛

标题: 如何快速定位记录 [打印本页]

作者: bbsliu    时间: 2011-9-11 19:20
标题: 如何快速定位记录
在rstmp中,知道数据在i 的位置,如何能定位到
rstmp.move(i)
提示BOF或EOF错误。
求解,谢谢。
作者: roych    时间: 2011-9-12 13:10
这个需要先在记录集里确定其位置。
一般建议先移动到最末再移动到开始,这样可以提高读取记录集的效率,免于出错。如下面的代码所示,将按bulk ID进行排序后,移动到第十条(需要提醒的是,MoveFirst已经是第一条了,因此,第十条只需要Move9就可以了),并在立即窗口里显示第一个字段的值。
  1. Sub test()
  2. Dim rst As New ADODB.Recordset
  3. Dim i As Long
  4. rst.Open "select * from Main order by [bulk id]", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  5. i = 9
  6. rst.MoveLast
  7. rst.MoveFirst
  8. rst.Move i
  9. Debug.Print rst(0).Value
  10. rst.Close
  11. End Sub
复制代码
事实上,如果绑定窗体的话,可以考虑用FindFirst方法和Bookmark属性来跳转到所需记录。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3