Recordset オブジェクトのカレント レコードの位置を移動します。
構文
recordset.Move NumRecords, Start
パラメータ
NumRecords カレント レコードの位置を移動するレコード数を指定する、符号付きの長整数型 (Long) の式を指定します。
Start 省略可能です。ブックマークとして評価される文字列型 (String) またはバリアント型 (Variant) の値を指定します。BookmarkEnum 値を使用することもできます。
解説
Move メソッドは、すべての Recordset オブジェクトでサポートされています。
NumRecords 引数が 0 よりも大きい場合、カレント レコードの位置は前方、つまり、Recordset の終端方向に移動します。NumRecords 引数が 0 よりも小さい場合、カレント レコードの位置は後方、つまり、Recordset の始端方向に移動します。
Move メソッドを呼び出してカレント レコードの位置を先頭レコードの前に移動した場合、カレント レコードはレコードセットの先頭レコードの前の位置に設定され、BOF が True になります。BOF プロパティが既に True の場合、後方へ移動しようとすると、エラーが発生します。
Move メソッドを呼び出してカレント レコードの位置を最後のレコードの後に移動した場合、カレント レコードはレコードセットの最後のレコードの後に設定され、EOF が True になります。EOF プロパティが既に True の場合、前方へ移動しようとすると、エラーが発生します。
空の Recordset オブジェクトから Move メソッドを呼び出すと、エラーが発生します。
Start 引数を指定した場合、Recordset オブジェクトではブックマークがサポートされていると見なされ、このブックマークを持つレコードが移動の基準となります。Start 引数を指定しない場合は、カレント レコードが移動の基準となります。
CacheSize プロパティを使用してプロバイダからのレコードをローカルにキャッシュしている場合、NumRecords 引数を渡すことで、現在キャッシュされているレコード グループの範囲外にカレント レコードの位置が移動されると、移動先のレコードから始まる新しいレコード グループが強制的に取り込まれます。新しく取り込まれるグループのサイズは CacheSize プロパティによって決まり、移動先のレコードが最初に取得されるレコードになります。
Recordset オブジェクトが前方スクロールのみ可能な場合でも、移動先が、現在キャッシュされているレコード セットの範囲内であれば、0 より小さい値を NumRecords 引数に指定することができます。Move メソッドを呼び出して、カレント レコードの位置が、キャッシュされている最初のレコードより前のレコードに移動した場合は、エラーが発生します。このように、前方スクロールのみをサポートするプロバイダで、完全スクロールをサポートするレコード キャッシュを使用することができます。キャッシュされたレコードはメモリに読み込まれるため、必要以上のレコードのキャッシュは避けてください。前方スクロールのみ可能な Recordset オブジェクトでも、この方法で後方への移動を実行できますが、前方スクロールのみ可能な Recordset オブジェクトで MovePrevious メソッドを呼び出すと、エラーが発生します。