Move 方法 (ADO)

移动 Recordset 对象中当前记录的位置。

语法

  
recordset.Move NumRecords, Start  

参数

NumRecords
指定当前记录位置移动的记录数的带符号的 Long 表达式。

启动
可选。 计算结果为书签的 String 值或 Variant。 还可以使用 BookmarkEnum 值。

备注

所有 Recordset 对象都支持 Move 方法。

如果 NumRecords 参数大于零,则当前记录位置向前移动(朝着 Recordset 末尾移动)。 如果 NumRecords 大于零,则当前记录位置向后移动(向 Recordset 开头移动)。

如果 Move 调用会将当前记录位置移动到首条记录之前的一点,ADO 会将当前记录设置到记录集中首条记录之前的位置(BOF 为 True)。 当 BOF 属性已经为 True 时,尝试向后移动会产生错误。

如果 Move 调用会将当前记录位置移动到最后一条记录之后的一点,ADO 会将当前记录设置到记录集中最后一条记录之后的位置(EOF 为 True)。 当 EOF 属性已经为 True 时,尝试向前移动会产生错误。

从空的 Recordset 对象调用 Move 方法会产生错误。

如果传递 Start 参数,则移动是相对于带有该书签的记录进行的,假设 Recordset 对象支持书签。 如果未指定,则移动是相对于当前记录的。

如果使用 CacheSize 属性从提供程序本地缓存记录,那么传递 NumRecords 参数会强制 ADO 从目标记录开始检索新的一组记录,其中此参数将当前记录位置移动到当前缓存记录组之外。 CacheSize 属性确定新检索的组的大小,且目标记录是检索的第一条记录。

如果 Recordset 对象仅向前移动,用户仍然可以传递小于零的 NumRecords 参数,前提是目标位于当前缓存记录集中。 如果 Move 调用将当前记录位置移动到第一个缓存记录之前的记录,则会发生错误。 因此,可以在仅支持向前滚动的提供程序上使用支持完全滚动的记录缓存。 由于缓存的记录已加载到内存中,因此应避免缓存比所需量更多的记录。 即使仅向前的 Recordset 对象支持以这种方式向后移动,在任何仅向前的 Recordset 对象上调用 MovePrevia 方法也仍然会生成错误。

注意

支持仅向前的记录集中向后移动是不可预测的,具体取决于提供程序。 如果当前记录位于记录集中的最后一条记录之后,向后移动可能会导致当前位置不正确。

应用于

记录集对象 (ADO)

另请参阅

Move 方法示例 (VB)
Move 方法示例 (VBScript)
Move 方法示例 (VC++)
MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法 (ADO)
MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法 (RDS)
MoveRecord 方法 (ADO)