●概要●
構文 expression.EOF 取得のみ
expression.BOF 取得のみ
設定項目 内容
expression Recordsetオブジェクト[省略不可]
カレントレコードが最初のレコードの前に設定されるとBOFプロパティがTrueになり、最後のレコードの後に設定されるとEOFプロパティがTrueになります。Recordsetオブジェクトを開いたときにレコードが1件もない場合、BOFプロパティ、EOFプロパティはともにTrueに設定され、カレントレコードも未定義となります。
ここでは、5件のレコードを含む「社員テーブル」と、レコードのない「給与テーブル」をデータソースとしてRecordsetオブジェクトを作成し、それぞれについてRecordsetオブジェクトのBOF、EOFプロパティを使用してテーブルが空かどうかチェックします。
●設定●
動作確認をするためには、Visual Basic Editorのメニューから[ツール]→[参照設定]コマンドを選択し、[参照設定]ダイアログボックスで「Microsoft DAO 3.6 Object Library」にチェックを入れてください。
●サンプル●
Public Sub IsNullTableSample()
Dim myDB As Database
Dim myRS As DAO.Recordset
'カレントデータベースを変数に代入する
Set myDB = CurrentDb
'[社員テーブル]をデータソースとしてレコードセットを開く
Set myRS = myDB.OpenRecordset("社員テーブル", dbOpenTable)
'BOFプロパティ、EOFプロパティが共にTrueかどうかをチェックする
If myRS.BOF And myRS.EOF Then
MsgBox "社員テーブルは空です"
Else
MsgBox "社員テーブルは空ではありません"
End If
'[給与テーブル]をデータソースとしてレコードセットを開く
Set myRS = myDB.OpenRecordset("給与テーブル", dbOpenTable)
'BOFプロパティ、EOFプロパティが共にTrueかどうかをチェックする
If myRS.BOF And myRS.EOF Then
MsgBox "給与テーブルは空です"
Else
MsgBox "給与テーブルは空ではありません"
End If
'レコードセットを閉じる
myRS.Close
End Sub