広告 在庫管理

在庫管理システム-エラーログ

2022年11月8日

無視しても構わないエラーのために「On Error Resume Next」をあちらこちらに挿入しておりました。そうしますと、無視してはいけないエラーもスルーしてしまうことがありました。私はプログラマーではなく、正直言ってエラー処理は苦手です。見つけたエラーは都度対処しておりますが、「On Error Goto」にしてエラーのログを残すようにしました。

例:「On Error Goto 終了」としてエラーの際には終了:ラベルに飛び、共通サブルーチン「エラーログ」を呼び出します。各種エラー情報を記録してます。文法エラーのようなものはここに記録されるまでもなくポップアップされます。

Private Sub cmd_インポート_Click()
On Error GoTo 終了
    ImportFromExcel ("品目")
    Me.SF_品目マスタ.Requery
    Exit Sub
終了:
    Call エラーログ("F_品目マスタ", "cmd_インポート_Click")
End Sub
Public Sub エラーログ(ByVal m As String, ByVal p As String)
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("T_エラーログ")
    With rst
        .AddNew
        .Fields("日時") = Now
        .Fields("エラー番号") = Err.Number
        .Fields("エラーメッセージ") = Err.Description
        .Fields("エラーモジュール") = m
        .Fields("エラープロシージャ") = p
        .Update
        .Close
    End With
    Set rst = Nothing
End Sub

-在庫管理