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


エラー番号 (Err.Number)



Accessを操作していると、いろいろなエラーに遭遇します。Accessに取り組み始めれた方が最も悩み、VBAに移行を考えるのは以下の状況に出会った時ではないでしょうか?

コマンドボタンをフォーム上に配置し、前レコード、次レコードをコマンドボタンで操作する場合に、最後のレコードから次レコードに移動させると、絵が発生する現象です。これは、最初のレコードから前レコードに移動した場合も同様にエラーが発生します。

サンプルデータの作成

下記のようなサンプルテーブルを作成します。

ID Test
1 Accessのお勉強
2 Excelのお勉強
3 Wordのお勉強

サンプルフォームの作成

入力フォームを下記のように作成します。

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

フォーム上に配置したコマンドボタン Cmd前コマンド、Cmd次コマンド のクリック時イベントに下記のようなプロシージャを作成します。

Private Sub Cmd前コマンド_Click()

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

End Sub

Private Sub Cmd次コマンド_Click()

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

End Sub

エラー発生

下記の動作を行うとエラーが発生します。

  1. 先頭データが表示されている時に、[前へ]コマンドボタンをクリックした時。
  2. 最後のデータ が表示されている時に、[次へ]コマンドボタンをクリックした時。

以下のエラーメッセージが表示されます。エラー番号とは、上記ダイアログの中の 2105 をいいます。これは、エラーの種類ごとに異なります。

・実行時エラー2105

対応

このような場合、プロシージャを下記のように変更します。

Private Sub txt前_Click()

On Error GoTo MyError

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

    If Err.Number = 2105 Then
        Resume Next ' --- A
    Else
        MsgBox Err.Number & vbNewLine & Err.Description ' --- B
    End If

End Sub
解説

エラー番号 2105 が発生すると、エラーを無視する設定に変更しました。なお、2105番号以外のエラーが発生した時は、エラー番号とエラー内容をメッセージボックスに表示させます。

  1. Resume Next
    エラーが発生した次の行からプロシージャを実行させる場合に利用します。
  2. Err.Number
    エラー処理の場面でエラー番号を取得するために利用しています。

関連ページ

 2003/07/16 

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


エラー番号 (Err.Number)


-Microsoft Access Club-

PLESKコンパネインストール済みの専用・共有レンタルサーバーを10年以上ご提供しています。信頼性は抜群です。
PLESKインストール済みの専用・共有レンタルサーバーを提供しています。
10年以上の信頼性は抜群です。