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


エラーを無視する (Resume Next)



Resumeステートメントを使用すれば、エラーを無視(エラーの発生が表面化しない)することができます。

事例

以下のプロシージャは、No64でご紹介した エラー番号 に関する記述の中で取り上げたものです 。コマンドボタンを用いて、次ページや前ページにレコードを移動させます。

Private Sub txt前_Click()

    '前レコードに移動します。
    DoCmd.GoToRecord , "", acPrevious

End Sub


Private Sub txt次_Click()

    '次レコードに移動します。
    DoCmd.GoToRecord , "", acNext

End Sub

しかし、該当のページが存在しない時はエラーが発生しますので、これをトラップ(避ける)ために Resumeステートメントを使用します。

プロシージャの書き換え
以下のようにResumeステートメントを用いてプロシージャを書き換えます。
Private Sub txt前_Click()

On Error GoTo MyError

    '前レコードに移動します。
    DoCmd.GoToRecord , "", acPrevious
    Exit Sub
    
MyError:

    If Err.Number = 2105 Then
        Resume Next
    Else
        MsgBox Err.Number & vbNewLine & Err.Description
    End If

End Sub

全てのエラーを無視する

上記プロシージャは、Resumeステートメントをエラー処理内で使用していますが、 最も簡易な方法は、下記のようにすることです。

Private Sub txt前_Click()

On Error Resume Next

    '前レコードに移動します。
    DoCmd.GoToRecord , "", acPrevious

End Sub

これは、このプロシージャ内で発生する全ての実行時のエラーを無視することができます。 危険な面もありますが、今回のようにレコードの移動だけであればさほど問題ないと思われます。

2003/07/16 

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


エラーを無視する (Resume Next)


-Microsoft Access Club-

アダルト・ゲーム配信可能なPLESKパネル付属の専用・共有レンタルサーバーを提供しています。
アダルトやゲーム配信が可能です。
全専用/共有レンタルサーバーにPLESKパネルをインストール済み。