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 和更早版本中的行為不同。 在這些舊版中,針對已排序或已篩選的 Recordset 變更其目前記錄的資料,並不會變更目前記錄的位置,而且 MoveNext 會將資料指標移至目前記錄之後的下一筆記錄。

使用 MovePrevious 方法可將目前的記錄位置向後移動一筆記錄 (朝向 Recordset 頂端)。 Recordset 物件必須支援書籤或逆向資料指標移動;否則,方法呼叫將產生錯誤。 如果第一筆記錄是目前的記錄,而且您呼叫 MovePrevious 方法,則 ADO 會將目前的記錄設定為 Recordset 中第一筆記錄之前的位置 (OFTrue)。 當 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)