#461 | 最終レコードであることをメッセージ表示する方法 | フォーム、VBA | |
フォームのモジュールでは、「Me.CurrentRecord」という記述によって、フォームに連結されたレコードソースのカレントレコード(フォーム上で現在カーソルがある行のレコード)のレコード番号を取得することができます。 一方、同じく「Me.Recordset.RecordCount」という記述(こちらはMeのあとにRecordsetを記述することに注意)によって、レコードソースの全レコード数を取得することができます。先頭レコードのレコード番号は1ですので、その値は同時に最終レコードのレコード番号でもあります。よって、"カレントレコードのレコード番号が全レコード数と等しければカレントレコードは最終レコードである"と判定することができます。 次の例では、"Current/レコード移動時"イベントを使って、フォーム上でレコード移動が発生するたびにカレントレコードのレコード番号をチェック、それが全レコード数と等しければラベルコントロールにその旨のメッセージを出力しています。 Private Sub Form_Current() 'フォームのレコード移動時 If Me.CurrentRecord = Me.Recordset.RecordCount Then '最終レコードのとき lblMessage.Caption = "最終レコードです!" Else lblMessage.Caption = "" End If End Sub 実行結果: |
|||
|
Copyright © T'sWare All rights reserved |