EOFとは、最終レコードよりも後ろに移動しようとするとTRUEになるプロパティです。全レコードを参照するには、Do~LoopでEOFがTRUEになるまで、レコードを前に移動します。
レコードの移動方法は「Recordsetでレコード移動させる 」のページを参照してください。
Home VBA入門
ここでは顧客マスターテーブルの会社名と電話番号を取り出し表示します。
RecordsetとEOFで全レコードを参照するVBA
下のMyEofプロシージャを作成しました。
実行すると、顧客マスターテーブルをRecordsetで開き、全レコードの会社名とTELをイミディエイトウィンドウに表示します。
・ Do Until rs.EOF でレコードの最後までループします。
・ rs.MoveNext で次のレコードに移動します。
Sub MyEof()
Dim db As Database
Dim rs As Recordset
Dim i As Long
Set db = CurrentDb()
Set rs = db.OpenRecordset("T-顧客マスター", dbOpenTable)
Do Until rs.EOF
Debug.Print rs!会社名 & " - " & rs!TEL
rs.MoveNext
Loop
Set rs = Nothing
Set db = Nothing
End Sub