BOF プロパティ・EOF プロパティ(ADO)
EOF プロパティ・BOF プロパティ
BOF プロパティは、カレントレコードの位置が Recordset オブジェクトの最初のレコードより前にあるかどうかを示します。EOF プロパティは、カレントレコードの位置が Recordset オブジェクトの最後のレコードより後にあるかどうかを示します。
<取得>
boolean_bof = object.BOF
boolean_eof = object.EOF
引数・戻り値
- object ・・・ 対象となる Recordset オブジェクトを指定します。
- boolean_bof ・・・ ブール型(boolean)の値を取得します。カレントレコードの位置が Recordset オブジェクトの最初のレコードより前にある場合は、True(-1)、カレントレコードの位置が最初のレコード上またはそれ以降にある場合は、False(0)となります。
- boolean_eof ・・・ ブール型(boolean)の値を取得します。カレントレコードの位置が
の最後のレコードより後にある場合は、True(-1)、カレントレコードの位置が最後のレコード上またはそれ以前にある場合は、False(0)となります。
BOF、EOF のいずれかが True の場合、カレントレコードはありません。
BOF、EOF 共に True の場合、Recordset には、レコードはありません。
BOF、EOF 共に False の場合、Recordset には、少なくとも1つのレコードが格納されています。また、最後のレコードを削除した場合でもカレントレコードの位置を移動するまでは、BOF、EOF 共に False のままです。
BOF プロパティ・EOF プロパティ 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
Sub Sample_ADO_BOFEOF() '参照設定:Microsoft ActiveX Data Objects 6.1 Library Dim cn As ADODB.Connection Dim Rs As ADODB.Recordset Dim constr As String Dim DBFile As String Dim strSQL As String Dim i As Long Dim j As Long DBFile = ActiveWorkbook.Path & "\mydb1.accdb" constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBFile Set cn = New ADODB.Connection cn.ConnectionString = constr cn.Open strSQL = "Select * from 社員名簿;" Set Rs = New ADODB.Recordset Rs.Source = strSQL Rs.ActiveConnection = cn Rs.Open With Worksheets("Sheet1") If Rs.BOF And Rs.EOF Then MsgBox "「社員名簿」にはレコードがありません" Else Rs.MoveFirst i = 1 .Cells.Clear Do Until Rs.EOF For j = 0 To Rs.Fields.Count - 1 .Cells(i, j + 1) = Rs(j).Value Next j Rs.MoveNext i = i + 1 Loop MsgBox "「社員名簿」にはレコードがあります" End If End With Rs.Close Set Rs = Nothing cn.Close Set cn = Nothing End Sub |
実行結果
関連記事
-
-
データベースを作成する(ADOX)
ADOX を使用してデータベース(Access)を作成 Catalog オブジェ …
-
-
テーブル名、クエリ名の取得(ADOX)
テーブル名の取得 Table.Type プロパティ 【書式】 <取得> obje …
-
-
データベース(Oracle)に接続する(oo4o)
oo4o 接続 OO4O(Oracle Objects for OLE)はWin …
-
-
Excel VBA のクラスを使ってデータベースへ接続する(ADO)
データベースの処理をクラスモジュールに書く ExcelVBAで、クラス使用する方 …
-
-
データベース(Access 等)に接続(ADO)
ADO で、データベースに接続 外部データベースを操作する方法のひとつに ADO …
-
-
SQL文を実行する(ADO)Execute メソッド
Command オブジェクトの Execute メソッドで、SQL文を実行 Co …
-
-
データベース(SQL Server)に接続する(ADO)
データベース(SQL Server)に接続 ODBC または OLE DB で接 …
-
-
データベース(Oracle)に接続する(ODBC を使用)
ODBC接続(ADO) ADOで、ODBC(Open Database Conn …
-
-
フィールド名(ADO)Field オブジェクト
Field オブジェクト Recordset オブジェクト内の列(フィールド)を …
-
-
レコードの更新(ADO)Update メソッド
データベースのレコードを更新する Update メソッド カレントレコードの内容 …