Microsoft Access 2010,DAO.Recordset
我在.move方法中发现了一个非常奇怪的行为。有谁知道为什么会这样?
首先加载记录集
Dim rc as DAO.Recordset
Set rc = CurrentDB.Openrecordset(" ... ")
Debug.Print rc.RecordCount ' 1273
现在,这有效:
rc.MoveFirst
rc.Move 500
这不起作用:(为什么???)
rc.MoveFirst
rc.Move 1272
现在它变得很奇怪:这再次起作用......
rc.MoveFirst
rc.Move 1272
if rc.AbsolutePosition = -1 then
rc.MoveFirst
rc.Move 1272
end if
答案 0 :(得分:1)
在您第一次mc.MoveFirst
之前,请尝试添加mc.MoveLast
。这会强制记录集填充。我的猜测是,当你试图移动到最后一条记录时,记录集还没有完全填充。