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


エラーメッセージを非表示-On Error Resume Next ステートメント:AccessTips009



プロシージャの実行中にエラーが発生することがあります。プロシージャにエラー処理を組み込んでいないとその時点で実行は停止します。プロシージャにはエラー処理が必需品ですね。

次レコード、前レコードに移動させるプロシージャを記述する必要が生じることがあります。GoToRecord メソッドで簡単に実現出るのですが、次レコードへの移動を行う場合、最後のレコードから移動しようとするとエラーが発生します。つまり、それ以上レコードない状態の場合です。

On Error Resume Next ステートメント

この場合は、プロシージャの上段に、On Error Resume Next ステートメント を記述しておきます。

On Error Resume Next ステートメント
  • エラーの原因となった行を無視し、その次の行に実行の制御を移します。この場合、プロシージャの実行は中断されません。

社員管理テーブルの作成

以下のようなテーブルを作成します。特に注意点はありません。

社員管理フォームの作成

単票式のフォームを作成します。

  • Cmd_前レコード名のコマンドボタンとCmd_次レコード名のコマンドボタンを作成します。

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

次のレコードに移動するためのプロシージャをコマンドボタンのクリック時イベントに記述します。

Private Sub Cmd_次レコード_Click()

    On Error Resume Next
    
    DoCmd.GoToRecord , "", acNext

End Sub

前のレコードに戻るためのプロシージャをコマンドボタンのクリック時イベントに記述します。

Private Sub Cmd_前レコード_Click()

    On Error Resume Next
    
    DoCmd.GoToRecord , "", acPrevious

End Sub
実行結果

以下のようなフォームビューに切り替えます。コマンドボタン操作でレコードが前後に移動します。

参考

下記のプロシージャで置き換えることも可能です。

Private Sub Cmd_次レコード_Click()

On Error GoTo エラー
    
    DoCmd.GoToRecord , "", acNext
    
    Exit Sub
    
エラー:

    Resume Next ' エラー発生行を飛ばします。
    
End Sub

関連ページ

 2004/09/18

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

 


エラーメッセージを非表示-On Error Resume Next ステートメント:AccessTips009


 

-Microsoft Access Club-