マイクロソフトアクセスで広がる世界

フォームが開かれたときに最後のレコードを表示する方法

概要

フォームが開かれたときに最後のレコード(レコードソースに指定された順番による最後のレコード) を表示する方法です。 ここではDoCmdオブジェクトを使った方法とDAOレコードセットを使う方法を紹介します。

(注意)
並び順を指定していないクエリではレコードの並び順に特定の規則はありません。その場合は、クエリで並び順を指定しておくことが必要です。

<方法1>DoCmdオブジェクトを使った方法

フォームを開くときのイベントに次のプロシージャを作成します。
Private Sub Form_Open(Cancel As Integer)
 DoCmd.RunCommand acCmdRecordsGoToLast
End Sub

<方法2>DAOレコードセットを利用した方法

フォームを開くときのイベントに次のプロシージャを作成します。
Private Sub Form_Open(Cancel As Integer)
 Dim db As DAO.Database
 Dim rs As DAO.Recordset

 Set db = CurrentDb()
 Set rs = Me.RecordsetClone

 If Not rs.EOF Then
  rs.MoveLast
  Me.Bookmark = rs.Bookmark
 End If

 rs.Close
 db.Close
End Sub

(この項終わり)