MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法 (ADO)

适用于:Access 2013、Office 2013

用于移动到指定的 Recordset 对象中的第一个、最后一个、下一个或上一个记录,并使该记录成为当前记录。

语法

recordset。{ MoveFirst |MoveLast |MoveNext |MovePrevious}

注解

使用 MoveFirst 方法可以将当前记录位置移动到 Recordset 中的第一个记录。

使用 MoveLast 方法可以将当前记录位置移动到 Recordset 中的最后一个记录。 Recordset 对象必须支持书签或向后游标移动;否则,该方法调用将生成错误。

Recordset 为空( BOFEOF 均为 True)时,调用 MoveFirstMoveLast 将生成错误。

使用 MoveNext 方法可以将当前记录位置向前(朝着 Recordset 的末部)移动一个记录。如果最后一个记录就是当前记录,则调用 MoveNext 方法时,ADO 将把当前记录设置为 Recordset 中最后一个记录之后的位置(EOFTrue)。当 EOF 属性已经为 True 时尝试向前移动,将生成错误。

如果已经对 Recordset 进行了筛选或排序,且当前记录的数据已更改,则记录的位置也可能会更改。 在这种情况下, MoveNext 方法仍正常工作,但您应注意,记录的位置是从新位置(而不是旧位置)向前移动一个记录。 例如,如果更改当前记录的数据,使记录移动到排序的 Recordset 的末尾,则意味着调用 MoveNext 会导致 ADO 将当前记录设置为 Recordset 中最后一个记录之后的位置 (EOF = True) 。

使用 MovePrevious 方法可以将当前记录位置向后(朝着 Recordset 的顶部)移动一个记录。Recordset 对象必须支持书签或向后的游标移动;否则,该方法将生成错误。如果第一个记录就是当前记录,则调用 MovePrevious 方法时,ADO 将把当前记录设置为 Recordset 中第一个记录之前的位置(BOFTrue)。当 BOF 属性已经为 True 时,尝试向后移动将生成错误。如果 Recordset 对象不支持书签或向后的游标移动,MovePrevious 方法将生成错误。

如果 Recordset 是仅向前的,并且您想要同时支持向前和向后滚动,则可以使用 CacheSize 属性来创建记录缓存,后者通过 Move 方法支持向后游标移动。由于缓存的记录被加载到内存中,因此,您应该避免缓存超过所需数目的记录。可以在仅向前的 Recordset 对象中调用 MoveFirst 方法;这样做可能会导致提供程序重新执行生成 Recordset 对象的命令。