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

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

语法

  
recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}  

言论

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

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

Recordset 为空时(BOFEOF 为 True)时,对 moveFirstMoveLast 的调用将生成错误。

使用 MoveNext 方法将当前记录位置向前移动一条记录(向 Recordset底部)。 如果最后一条记录是当前记录,并且调用 MoveNext 方法,则 ADO 会将当前记录设置为 Recordset 中的最后一条记录之后的位置(EOFTrue)。 当 EOF 属性已 True 生成错误时,尝试向前移动。

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

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

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

适用于

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)