#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


実行結果:
実行結果
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved