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

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

语法

  
recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}  

备注

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

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

当 Recordset 为空(BOF 和 EOF 均为 True)时,调用 MoveFirst 或 MoveLast 会生成错误。

使用 MoveNext 方法将当前记录位置向前移动一条记录(朝着 Recordset 的底部移动)。 如果最后一条记录是当前记录,并且调用 MoveNext 方法,那么 ADO 会将当前记录设置为 Recordset 中最后一条记录后面的位置(EOF 为 True)。 当 EOF 属性已经为 True 时,试图向前移动会产生错误。

在 ADO 2.5 及更高版本中,当已对 Recordset 进行筛选或排序,并且当前记录的数据发生更改时,调用 MoveNext 方法会将游标从当前记录向前移动两条记录。 这是因为在当前记录发生更改时,下一条记录将成为新的当前记录。 更改后调用 MoveNext 会将光标从新的当前记录向前移动一条记录。 这与 ADO 2.1 及更低版本中的行为不同。 在这些早期版本中,更改已排序或筛选的 Recordset 中当前记录的数据不会更改当前记录的位置,MoveNext 会将光标移动到紧跟在当前记录后面的下一条记录。

使用 MovePrevious 方法将当前记录位置向后移动一条记录(朝着 Recordset 的顶部移动)。 Recordset 对象必须支持书签或向后游标移动;否则,方法调用将生成错误。 如果第一条记录是当前记录,并且调用 MovePrevious 方法,那么 ADO 会将当前记录设置为 Recordset 中第一条记录前面的位置(BOF 为 True)。 当 BOF 属性已经为 True 时,试图向后移动会产生错误。 如果 Recordset 对象不支持书签或向后游标移动,MovePrevious 方法将生成错误。

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

应用于

记录集对象 (ADO)

另请参阅

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