Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

DAOでカレントレコードを移動する方法 : VBAのTips解説



MoveFirst/MoveLast/MoveNext/MovePreviousメソッド

MoveFirst、MoveLast、MoveNext、MovePreviousメソッドとは、Recordsetオブジェクトのカレントレコードを、先頭、最後、次、前のレコードに移動させるメソッドです。これらメソッドは、DAO、ADOともに使用できます。

メソッドの種類 意味
MoveFirst 先頭のレコードに移動する
MoveLast 最後のレコードに移動する
MoveNext 次のレコードに移動する
MovePrevious 前のレコードに移動する
  • 書式
recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}
  • 引数
引数 意味 指定
recordset 開いているRecordsetオブジェクト変数を指定します 省略不可

関連項目

  1. CurrentDbメソッド(DAO)
  2. EOFプロパティ(DAO)
  3. Connectionオブジェクト(ADO)
  4. Openメソッド(ADO)

事例1 ) DAOを用いて、テーブルの全データを昇順でメッセージボックスに表示する

DAOを用いて、「予約簿管理」テーブルの全データを昇順でメッセージボックスに表示します。

  1. 非連結フォームを作成します。
  2. 実行するコマンドボタンを新規作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   Dim db As DAO.Database
   Dim rs As DAO.Recordset
   Dim varRet As Variant
   Dim strMsg As String

   Set db = CurrentDb
   Set rs = db.OpenRecordset("予約簿管理", dbOpenTable)

   rs.Index = "出発日" '--- A

   Do Until rs.EOF = True
      varRet = rs!ID
      varRet = varRet & " : " & rs!出発日
      varRet = varRet & " : " & rs!予約日
      varRet = varRet & " : \" & rs!参加者名
      strMsg = strMsg & vbNewLine & varRet
      rs.MoveNext '--- B
   Loop

   MsgBox "予約簿管理 : 出発日昇順" & vbNewLine & strMsg

   rs.Close: Set rs = Nothing
   db.Close: Set db = Nothing

End Sub
解説
  1. Indexプロパティを用いて並び替えを実行します。
  2. 次レコードに移動します。

実行結果

  1. フォームをビューモードで開きます。
  1. [予約状況]ボタンをクリックします。
  2. 「出発日」フィールドのレコードを昇順でメッセージボックスに表示します。

ページの先頭へ 前ページへ戻る


DAOでカレントレコードを移動する方法 : VBAのTips解説


 

-Microsoft Access Club-

cPanel あるいは PLESKコントロールパネルをインストールした専用レンタルサーバのディスカウントプランを期間限定で公開しています。
cPanel・PLESKコントロールパネルを備えた専用レンタルサーバ....。