Move メソッド (ADO)

Recordset オブジェクト内の現在のレコードの位置を移動します。

構文

  
recordset.Move NumRecords, Start  

パラメーター

NumRecords
現在のレコード位置を移動するレコードの数を指定する符号付き Long 式。

[開始]
省略可能。 ブックマークとして評価される String 値または VariantBookmarkEnum 値も使用できます。

注釈

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

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

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

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

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

Start 引数を渡した場合、Recordset オブジェクトがブックマークをサポートしているとすると、移動はこのブックマークが設定されているレコードに対して相対的になります。 指定しない場合は、移動は現在のレコードに対する相対位置になります。

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

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

注意

プロバイダーによっては、前方のみの Recordset での後方移動のサポートは予測できません。 現在のレコードが Recordset 内の最後のレコードの後に配置されている場合、後方への Move で正しい現在位置にならない可能性があります。

適用対象

Recordset オブジェクト (ADO)

参照

Move メソッドの例 (VB)
Move メソッドの例 (VBScript)
Move メソッドの例 (VC++)
MoveFirst、MoveLast、MoveNext、および MovePrevious メソッド (ADO)
MoveFirst、MoveLast、MoveNext、MovePrevious メソッド (RDS)
MoveRecord メソッド (ADO)