BOF、EOF プロパティ

       

戻り値

BOF および EOF プロパティは、ブール型 (Boolean) の値を返します。

解説

BOF プロパティと EOF プロパティは、Recordset オブジェクトにレコードが格納されているか、またはレコード間を移動したときに Recordset オブジェクトの制限を超えたかどうかを確認するときに使います。

BOF プロパティは、カレント レコードの位置が最初のレコードより前にある場合は True (-1) を返し、カレント レコードの位置が最初のレコード上またはそれ以降にある場合は False (0) を返します。

EOF プロパティは、カレント レコードの位置が最後のレコードより後にある場合は True を返し、カレント レコードの位置が最後のレコード上またはそれ以前にある場合は False を返します。

BOF または EOF プロパティが True の場合、カレント レコードはありません。

レコードが存在しない Recordset オブジェクトでは、BOF プロパティと EOF プロパティは True に設定され、Recordset オブジェクトの RecordCount プロパティの設定値が 0 になります。少なくとも 1 つのレコードが格納された Recordset オブジェクトを開くと、最初のレコードがカレント レコードになり、BOF プロパティと EOF プロパティは False になります。

Recordset オブジェクトで最後に残ったレコードを削除しても、カレント レコードの位置を移動するまで BOF および EOF プロパティは False のままです。

次の表では、BOF プロパティと EOF プロパティの設定値の組み合わせと、利用できる Move メソッドの種類を示します。

  MoveFirst、MoveLast MovePrevious、Move < 0 Move 0 MoveNext、Move > 0
BOF=True、
EOF=False
使用可能 エラー エラー 使用可能
BOF=False、
EOF=True
使用可能 使用可能 エラー エラー
両方が True エラー エラー エラー エラー
両方が False 使用可能 使用可能 使用可能 使用可能

Move メソッドが使えても、そのメソッドによるレコードの位置決めが成功するとは限りません。メソッドが使えるとは、指定された Move メソッドを呼び出してもエラーが発生しなかったことを意味するだけです。

次の表は、さまざまな Move メソッドを呼び出しても、レコードの位置決めが行えない場合に、BOF プロパティと EOF プロパティで設定される値を示します。

  BOF EOF
MoveFirst、MoveLast True に設定 True に設定
Move 0 変化なし 変化なし
MovePreviousMove < 0 True に設定 変化なし
MoveNextMove > 0 変化なし True に設定