RecordsetとEOFを使って全レコードを参照するサンプル|Access VBA入門

EOFとは、最終レコードよりも後ろに移動しようとするとTRUEになるプロパティです。全レコードを参照するには、Do~LoopでEOFがTRUEになるまで、レコードを前に移動します。

レコードの移動方法は「Recordsetでレコード移動させる 」のページを参照してください。

BackHome BackVBA入門

ここでは顧客マスターテーブルの会社名と電話番号を取り出し表示します。




RecordsetとEOFで全レコードを参照するVBA

下のMyEofプロシージャを作成しました。
実行すると、顧客マスターテーブルをRecordsetで開き、全レコードの会社名とTELをイミディエイトウィンドウに表示します。
RecordsetとEOFで全レコードを参照するVBA

・ 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

BackHome BackVBA入門

Copyright(C) FeedSoft