カテゴリー
SugiBlog ホームページ制作・システム開発|大阪

ACCCESS レコード移動のエラー回避

ACCESSのフォームにレコード移動のボタンを追加し、前後のレコード移動が出来るようにするときのエラー回避についてです。
例えば、カレントレコードが最終レコードのときに次のレコードへ移動しようとするとエラーが発生します。
それを回避するために基本的には次のように処理します。

Private Sub 次へ_Click()
On Error Resume Next

    DoCmd.GoToRecord , , acNext

End Sub

On Error Resume Nextは「エラーが発生した場合、無視して次のコードへ進む」という意味です。

レコード移動のボタンには前述のようにエラーを無視するよう処理を記述しますが、
私はそれ以前に移動可能な場合のみボタンが押せるようにしています。

フォームのレコード移動時イベントに以下を記述します。

If Me.CurrentRecord = Me.Recordset.RecordCount Then
    次へ.Enabled = False
Else
    次へ.Enabled = True
End If

If Me.CurrentRecord = 1 Then
    前へ.Enabled = False
Else
    前へ.Enabled = True
End If

現在表示中のデータが最終レコードであれば「次へ」ボタンを押せないよう無効にし、
先頭レコードであれば「前へ」ボタンを押せないように無効にしています。

この記事がお役に立ちましたらシェアお願いします
77 views

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です