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 |