2.5 レコードセットの操作/先頭と最後
レコードセットオブジェクト内の先頭レコードへジャンプ、または最終レコードへジャンプする方法です。

先頭レコードへジャンプ(先頭レコードを読み込み)したいときは、レコードセットオブジェクトのMoveFirstというメソッド、最終レコードへジャンプ(最終レコードを読み込み)したいときは、レコードセットオブジェクトのMoveLastというメソッドを実行します。
MoveFirstの使用例
MoveFirstの使用例です。例では、「住所録テーブル」というテーブルをオープンした後、MoveFirstメソッドを使い先頭レコードを読み込んでいます。ただし、オープン直後は先頭レコードを読み込んだ状態になっているので、あまり意味が無いですが(汗)

Sub prcMoveFirst2000()

    'Access VBA Tips
    '2.5 レコードセットの操作/先頭と最後
    'Access2000以降での手順

    Dim daoDB As DAO.Database
    Dim daoRS As DAO.Recordset

    'データベースのオープン(データベースオブジェクトの作成)
    Set daoDB = CurrentDb

    'テーブルのオープン(レコードセットの作成)
    Set daoRS = daoDB.OpenRecordset("住所録テーブル", dbOpenDynaset)

    '先頭レコードを読み込みます
    daoRS.MoveFirst

    'イミディエイトウィンドウへ漢字氏名を表示します
    Debug.Print daoRS("漢字氏名")

    'テーブルのクローズ
    daoRS.Close

    'データベースのクローズ
    daoDB.Close

End Sub
 ※Access2000以降の場合。ただし、DAOを使うときは参照設定が必要です。



Sub prcMoveFirst97()

    'Access VBA Tips
    '2.5 レコードセットの操作/先頭と最後
    'Access97までの手順

    Dim daoDB As Database
    Dim daoRS As Recordset

    'データベースのオープン(データベースオブジェクトの作成)
    Set daoDB = DBEngine.Workspaces(0).Databases(0)

    'テーブルのオープン(レコードセットの作成)
    Set daoRS = daoDB.OpenRecordset("住所録テーブル", DB_OPEN_DYNASET)

    '先頭レコードを読み込みます
    daoRS.MoveFirst

    'イミディエイトウィンドウへ漢字氏名を表示します
    Debug.Print daoRS("漢字氏名")

    'テーブルのクローズ
    daoRS.Close

    'データベースのクローズ
    daoDB.Close

End Sub
 ※Access97までの場合。
MoveLastの使用例
MoveLastの使用例です。例では、「住所録テーブル」というテーブルをオープンした後、MoveLastメソッドを使い最終レコードを読み込んでいます。

Sub prcMoveFirst2000()

    'Access VBA Tips
    '2.5 レコードセットの操作/先頭と最後
    'Access2000以降での手順

    Dim daoDB As DAO.Database
    Dim daoRS As DAO.Recordset

    'データベースのオープン(データベースオブジェクトの作成)
    Set daoDB = CurrentDb

    'テーブルのオープン(レコードセットの作成)
    Set daoRS = daoDB.OpenRecordset("住所録テーブル", dbOpenDynaset)

    '最終レコードを読み込みます
    daoRS.MoveLast

    'イミディエイトウィンドウへ漢字氏名を表示します
    Debug.Print daoRS("漢字氏名")

    'テーブルのクローズ
    daoRS.Close

    'データベースのクローズ
    daoDB.Close

End Sub
 ※Access2000以降の場合。ただし、DAOを使うときは参照設定が必要です。



Sub prcMoveFirst97()

    'Access VBA Tips
    '2.5 レコードセットの操作/先頭と最後
    'Access97までの手順

    Dim daoDB As Database
    Dim daoRS As Recordset

    'データベースのオープン(データベースオブジェクトの作成)
    Set daoDB = DBEngine.Workspaces(0).Databases(0)

    'テーブルのオープン(レコードセットの作成)
    Set daoRS = daoDB.OpenRecordset("住所録テーブル", DB_OPEN_DYNASET)

    '最終レコードを読み込みます
    daoRS.MoveLast

    'イミディエイトウィンドウへ漢字氏名を表示します
    Debug.Print daoRS("漢字氏名")

    'テーブルのクローズ
    daoRS.Close

    'データベースのクローズ
    daoDB.Close

End Sub
 ※Access97までの場合。
Copyright(C) 1999-2006 結城圭介。 All rights reserved