MoveFirst、MoveLast、MoveNext、および MovePrevious メソッド (ADO)

指定した Recordset オブジェクト内の最初、最後、次、または前のレコードに移動し、そのレコードを現在のレコードにします。

構文

  
recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}  

注釈

MoveFirst メソッドを使用して、現在のレコード位置を Recordset の最初のレコードに移動します。

MoveLast メソッドを使用して、現在のレコード位置を Recordset の最後のレコードに移動します。 Recordset オブジェクトはブックマークまたはカーソルの後方移動をサポートしなければなりません。サポートしないと、メソッド呼び出しによってエラーが発生します。

Recordset が空 (BOFEOF の両方が True) のときに MoveFirst または MoveLast を呼び出すと、エラーが発生します。

MoveNext メソッドを使用して、現在のレコード位置を 1 レコード先 (Recordset の下部に向かって) に移動します。 最後のレコードが現在のレコードの場合で MoveNext メソッドを呼び出すと、ADO は現在のレコードを Recordset の最後のレコードの後の位置に設定します (EOFTrue)。 EOF プロパティが既に True のときに先へ移動しようとすると、エラーが発生します。

ADO 2.5 以降では、 Recordset がフィルター処理または並べ替えられて現在のレコードのデータが変更されているとき、MoveNext メソッドを呼び出すと、カーソルは現在のレコードから 2 レコード先に移動します。 この理由は、現在のレコードが変更されると、次のレコードは新しい現在のレコードになるためです。 MoveNext を変更後に呼び出すと、カーソルは新しい現在のレコードから 1 レコード先に移動します。 これは、ADO 2.1 以前の動作とは異なります。 これらの以前のバージョンでは、並べ替えまたはフィルター処理された Recordset 内の現在のレコードのデータを変更しても、現在のレコードの位置は変わらず、MoveNext は現在のレコードの直後の次のレコードにカーソルを移動します。

MovePrevious メソッドを使用して、現在のレコード位置を 1 レコード前 (Recordset の上部に向かって) に移動します。 Recordset オブジェクトはブックマークまたはカーソルの後方移動をサポートしなければなりません。サポートしないと、メソッド呼び出しによってエラーが発生します。 最初のレコードが現在のレコードの場合で MovePrevious メソッドを呼び出すと、ADO は現在のレコードを Recordset の最初のレコードの前の位置に設定します (BOFTrue)。 BOF プロパティが既に True のときに後へ移動しようとすると、エラーが発生します。 Recordset オブジェクトがブックマークまたは後方カーソル移動をサポートしていない場合、MovePrevious メソッドによってエラーが発生します。

Recordset が前方移動だけであり、前方スクロールと後方スクロールの両方をサポートしたい場合は、CacheSize プロパティを使用して、Move メソッドを介した後方カーソル移動をサポートするレコード キャッシュを作成できます。 キャッシュされたレコードはメモリに読み込まれるため、必要以上のレコードをキャッシュしないようにする必要があります。 MoveFirst メソッドは、順方向専用の Recordset オブジェクトで呼び出すことができます。これを行うと、プロバイダーは Recordset オブジェクトを生じたコマンドを再実行する可能性があります。

適用対象

Recordset オブジェクト (ADO)

参照

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