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

適用先: Access 2013、Office 2013

指定された Recordset オブジェクトの最初、最後、次、または前のレコードに移動して、そのレコードをカレント レコードにします。

構文

recordset。{ MoveFirst |MoveLast |MoveNext |MovePrevious}

注釈

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

MoveLast メソッドを使用して、カレント レコードの位置を Recordset の最後のレコードに移動します。 Recordset オブジェクトはブックマークまたは後方へのカーソル移動をサポートしている必要があり、サポートしていない場合、このメソッドを呼び出すとエラーが発生します。

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

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

フィルターまたはソートが実行された Recordset でカレント レコードのデータを変更すると、その位置も変更されることがあります。 その場合、 MoveNext メソッドは正常に動作しますが、その位置が、元の位置からではなく、変更後の位置から 1 レコード先に移動されることに注意する必要があります。 たとえば、レコードが並べ替えられた Recordset の末尾に移動されるように、現在のレコード内のデータを変更するとMoveNext を呼び出すと、ADO によって Recordset の最後のレコードの後の位置に現在のレコードが設定されます (EOF = True)。

MovePrevious メソッドを使用して、カレント レコードの位置を 1 レコード後方 (Recordset の始端方向) に移動します。 Recordset オブジェクトはブックマークまたは後方へのカーソル移動をサポートしている必要があり、サポートしていない場合、このメソッドを呼び出すとエラーが発生します。 カレント レコードが最初のレコードの場合に MovePrevious メソッドを呼び出すと、カレント レコードは Recordset の最初のレコードの前に設定され、BOFTrue になります。 BOF プロパティが既に True の場合、後方へ移動しようとすると、エラーが発生します。 Recordset オブジェクトがブックマークまたは後方へのカーソル移動をサポートしていない場合、 MovePrevious メソッドを実行すると、エラーが発生します。

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