BOF、EOF プロパティ (ADO)
適用先: Access 2013、Office 2013
BOF カレント レコードの位置が Recordset オブジェクトの最初のレコードより前にあることを示します。
EOF カレント レコードの位置が Recordset オブジェクトの最後のレコードより後にあることを示します。
BOF プロパティと EOF プロパティは、ブール型 (Boolean) の値を返します。
BOF プロパティと EOF プロパティを使用すると、Recordset オブジェクトにレコードが格納されているかどうかを調べたり、レコード間を移動したときに Recordset オブジェクトの範囲を越えていないかを調べたりすることができます。
BOF プロパティは、カレント レコードの位置が先頭レコードより前にある場合に True (-1) を返し、カレント レコードの位置が先頭レコードにあるか、またはそれより後ろにある場合に False (0) を返します。
EOF プロパティは、カレント レコードの位置が最後のレコードより後ろにある場合に True を返し、カレント レコードの位置が最後のレコードにあるか、またはそれより前にある場合に False を返します。
BOF プロパティと EOF プロパティのいずれかが True になっている場合は、カレント レコードが存在しません。
レコードが 1 つも格納されていない Recordset オブジェクトを開くと、BOF プロパティと EOF プロパティが True に設定されます (Recordset のこの状態については、RecordCount プロパティの説明を参照してください)。 1 つ以上のレコードが格納されている Recordset オブジェクトを開くと、先頭レコードがカレント レコードになり、BOF プロパティと EOF プロパティが False に設定されます。
Recordset オブジェクト内に残っている最後のレコードを削除すると、カレント レコードを再配置しようとするまで BOF プロパティおよび EOF プロパティは False のままになります。
次の表に、 BOF プロパティと EOF プロパティのさまざまな組み合わせで、どの Move メソッドが使用できるかを示します。
MoveFirst、 |
MovePrevious、 |
|
MoveNext、 |
|
---|---|---|---|---|
BOF=True、 |
可 |
エラー |
エラー |
可 |
BOF=False、 |
可 |
可 |
エラー |
エラー |
両方とも True |
Error |
Error |
Error |
Error |
両方とも False |
可 |
可 |
可 |
可 |
Move メソッドが使用可となっている場合、そのメソッドがレコードを正常に配置できるという保証をしているわけではありません。その Move メソッドを呼び出してもエラーが発生しないことを意味しているだけです。
次の表は、各種 Move メソッドを呼び出して、正常にレコードを配置できなかった場合に、BOF プロパティと EOF プロパティの設定がどうなるかを示します。
BOF |
EOF |
|
---|---|---|
MoveFirst、MoveLast |
True に設定 |
True に設定 |
Move 0 |
変更なし |
変更なし |
MovePrevious、 Move< 0 |
True に設定 |
変更なし |
MoveNext、 Move> 0 |
変更なし |
True に設定 |