Move メソッド (ADO)

適用先: Access 2013、Office 2013

Recordset オブジェクトでカレント レコードの位置を移動します。

構文

recordset。 NumRecords の移動、 開始

パラメーター

パラメーター 説明
NumRecords カレント レコードの位置を移動するレコード数を指定する、符号付きの長整数型 ( Long ) の式を指定します。
Start 省略可能です。 ブックマークとして評価される文字列型 ( String ) の値またはバリアント型 ( Variant ) を指定します。 BookmarkEnum 値を使用することもできます。

注釈

Move メソッドは、すべての Recordset オブジェクトでサポートされています。

NumRecords 引数がゼロより大きい場合、現在のレコードの位置は前方 (Recordset の末尾方向) に移動します。 NumRecords がゼロより小さい場合、現在のレコードの位置は後方 (Recordset の先頭方向) に移動します。

Move 呼び出しが現在のレコード位置を最初のレコードの前のポイントに移動する場合、ADO は現在のレコードをレコードセットの最初のレコードの前の位置に設定します (BOF は True)。 BOF プロパティが既に True の場合、後方へ移動しようとすると、エラーが発生します。

Move メソッドを呼び出してカレント レコードの位置を最後のレコードの後に移動しようとすると、カレント レコードがレコードセットの最後のレコードの後に設定され、EOF が True になります。 EOF プロパティが既に True の場合、前方へ移動しようとすると、エラーが発生します。

空の Recordset オブジェクトから Move メソッドを呼び出すと、エラーが発生します。

Start 引数を指定した場合、Recordset オブジェクトではブックマークがサポートされていると見なされ、このブックマークを持つレコードが移動の基準となります。 指定しない場合は、カレント レコードが移動の基準となります。

CacheSize プロパティを使用してプロバイダーからのレコードをローカルにキャッシュしている場合、NumRecords 引数を渡して、現在キャッシュされているレコード グループの範囲外に現在のレコード位置を移動すると、移動先のレコードから始まる新規レコード グループが強制的に取得されます。 新しく取り込まれるグループのサイズは CacheSize プロパティによって決まり、移動先のレコードが最初に取得されるレコードになります。

Recordset オブジェクトが前方スクロールのみ可能な場合でも、移動先が現在キャッシュされているレコードセットの範囲内であれば、NumRecords 引数に 0 より小さい値を指定できます。 Move メソッドを呼び出して、カレント レコードの位置を、キャッシュされている最初のレコードより前のレコードに移動しようとすると、エラーが発生します。 このように、前方スクロールのみをサポートするプロバイダーで、完全スクロールをサポートするレコード キャッシュを使用することができます。 キャッシュされたレコードはメモリに読み込まれるため、必要以上のレコードのキャッシュは避けてください。 前方スクロールのみ可能な Recordset オブジェクトでも、この方法で後方への移動をサポートできますが、前方スクロールのみ可能な Recordset オブジェクトで MovePrevious メソッドを呼び出すと、エラーが発生します。

注:

[!メモ] 前方スクロールのみ可能な Recordset で後方への移動がサポートされているかどうかは、プロバイダーによります。 カレント レコードが Recordset の最後のレコードの後にある場合、後方への Move を実行しても現在の位置が正しく示されないことがあります。