Move 方法 (ADO)

移動 Recordset 物件中目前記錄的位置。

語法

  
recordset.Move NumRecords, Start  

參數

NumRecords
一個帶正負號的 Long 運算式,指定目前記錄位置移動的記錄數目。

開始
選擇性。 評估為書籤的字串值或變數。 您也可以使用 BookmarkEnum 值。

備註

所有 Recordset 物件都支援 Move 方法。

如果 NumRecords 引數大於零,則目前的記錄位置會往前移動 (往 Recordset 結尾的方向)。 如果 NumRecords 小於零,則目前的記錄位置會向後移動 (往 Recordset 開頭的方向)。

如果 Move 呼叫會將目前記錄位置移至第一筆記錄之前的某個點,則 ADO 會將目前記錄設定為資料錄集中第一筆記錄之前的位置 (BOFTrue)。 當 BOF 屬性已經是 True 時,嘗試向後移動會產生錯誤。

如果 Move 呼叫會將目前記錄位置移至最後一筆記錄之後的某個點,則 ADO 會將目前記錄設定為資料錄集中最後一筆記錄之後的位置 (EOFTrue)。 當 EOF 屬性已經是 True 時,嘗試向前移動會產生錯誤。

從空的 Recordset 物件呼叫 Move 方法會產生錯誤。

如果您傳遞 Start 引數,移動會相對於具有此書籤的記錄 (假設 Recordset 物件支援書籤)。 如果未指定,移動則會相對於目前記錄。

如果您使用 CacheSize 屬性從提供者本機快取記錄,則傳遞 NumRecords 引數來將目前記錄位置移至目前快取記錄群組之外,會強制 ADO 從目的地記錄開始擷取新的記錄群組。 CacheSize 屬性會決定新擷取群組的大小,而目的地記錄則是擷取的第一筆記錄。

如果 Recordset 物件是順向的,使用者仍可傳遞小於零的 NumRecords 引數,前提是目的地位於目前的快取記錄集內。 如果 Move 呼叫會將目前記錄位置移至第一筆快取記錄之前的記錄,將會發生錯誤。 因此,您可以優先使用支援完整捲動的記錄快取,而非僅支援順向捲動的提供者。 因為快取的記錄會載入到記憶體中,因此請避免快取超過必要數量的記錄。 即使順向 Recordset 物件支援以此方式向後移動,但若在任何順向 Recordset 物件上呼叫 MovePrevious 方法,仍會產生錯誤。

注意

在順向資料錄集中向後移動不一定受到支援,視您的提供者而定。 如果目前記錄位於資料錄集的最後一筆記錄之後,則向後移動可能不會產生正確的目前位置。

套用至

Recordset 物件 (ADO)

另請參閱

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