HOME > 即効テクニック > AccessVBA > データ操作 > Recordsetオブジェクト(DAO)を使ってレコードを移動する

即効テクニック

データ操作

Recordsetオブジェクト(DAO)を使ってレコードを移動する

(Access)
Recordsetオブジェクトでレコードを移動するには、Move系メソッドを使います。
Recordsetオブジェクトの先頭へはMoveFirstメソッド、最後へはMoveLastメソッド、次へはMoveNextメソッド、前へはMovePreviousメソッドを使います。
サンプルプロシージャでは、「動物テーブル」のRecordsetオブジェクトを作成して、最後のレコード、最後から2番目のレコード(最後の前のレコード)、先頭のレコード、先頭から2番目のレコード(先頭の次のレコード)へ移動しながら、「動物名」フィールドの内容をメッセージボックスに表示しています。

Sub Sample()
    Dim db   As Database
    Dim rs   As Recordset
          
    Set db = CurrentDb
    Set rs = db.OpenRecordset("動物テーブル", dbOpenTable)
    
    '最後のレコード
    rs.MoveLast
    MsgBox rs!動物名
    
    '最後から2つ目のレコード
    rs.MovePrevious
    MsgBox rs!動物名
    
    '先頭のレコード
    rs.MoveFirst
    MsgBox rs!動物名
    
    '先頭から2つ目のレコード
    rs.MoveNext
    MsgBox rs!動物名
    
    rs.Close
    db.Close
    
End Sub

DAOを使用するには、[ツール(T)]メニューの[参照設定(R)]をクリックすると表示される[参照設定]ダイアログボックスで、「Microsoft DAO 3.6 Object Library」をチェックします。