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 を実行しても現在の位置が正しく示されないことがあります。