Access VBAでエラーを検出する方法


0

私はAccess VBAでエラーを記録する方法を私に示したチュートリアルを見つけました、そして、それは大部分はうまくいきます...しかし、私のエラーテーブルをチェックするときエラー番号が記録されないそして説明がないおよそ40のエントリがあります。エラーがユーザーに表示されないようにしたいのですが、エラーが発生したら、ユーザー名、コンピュータ名、エラー番号、および説明を電子メールで送信して、必要に応じて更新できるようにします。しかし、説明やエラー番号がなくても、あまりできません。

これは私が持っている手順です、私は不足しているエラーをキャプチャすることができるようにするために追加/変更/編集/更新が必要ですか?

Public Sub Error()
  On Error GoTo errorerrorhandler
  strDescription = Chr(34) & Err.Description & Chr(34)
  strSQL = "INSERT INTO tblErrorLog (ErrDate, CompName, UsrName, ErrNumber, ErrDescription, ErrModule)" _
  & " VALUES(#" & Now() & "#, '" & Environ("computername") _
  & "', '" & CurrentUser & "', " & Err.Number _
  & ", " & strDescription & ", '" & VBE.ActiveCodePane.CodeModule & "')"
  DoCmd.SetWarnings False
  DoCmd.RunSQL strSQL
  DoCmd.SetWarnings True
  Exit Sub

  errorerrorhandler:
  Exit Sub
End Sub

そして上記の手順は私のテーブルにエラー番号を表示します

6, 2113, 3070

編集
私はエラーを書き込もうとするための包括的なキャッチオールとしてsubを使用しています、そして私が通知を受けたら私はそれらを直すことができます。たとえば、これは私がデータベースからデータを検索し、フォーム上のフィールドに値を設定するために使用するsubです。

Private Sub PullDataFromDB()
  On Error GoTo errHandler
  Dim rs As DAO.Recordset
  Set rs = CurrentDb.OpenRecordset("SELECT [ASD], [ID], [JN], [SP], [CI], [CM] FROM DBTable1 WHERE [IN] = CSTR(" & Me.[INNum] & ") ")
  Me.[INNum] = rs![ID]
  Me.[SD] = rs![ASD]
  Me.[JN] = rs![JN]
  Me.[SP] = rs![SP]
  Me.[CI] = rs![CI]
  Me.[CM] = rs![CM]
  rs.Close
  Set rs = Nothing
  Exit Sub

  errHandler:
  Error

End Sub

なぜ投票は終了するのですか? @少なくとも私にコメントを残して私は額面ではないものを知っている?
user2676140

行方不明のエラー?私はVBaのAPIを見ることをお勧めします。それはあなたがたいてい誰かにあなたのコーディングだけをするように頼んでいるように見えます。具体的には何にこだわっていますか?あなたが "本にあるすべての間違いを私に教えてください"と頼んでいるなら、私はあなたがこのようになるとは思わない。
ejbytes

1
この質問はStackOverflowに適しています。あなたのsubがどのように呼ばれるかについての情報を追加してください。それを呼ぶ Error() 作り付けのように Error() 機能はお勧めできません。
Andre

@アンドレ - 編集済み? Errorプロシージャを呼び出す方法を説明します。 errHandlerとしてエラーが発生したときに、任意のsubから呼び出されます。
user2676140

@ejbytes - 私のために書かれたコードを要求していません。私のメソッドに追加のエラーを含むようなものが欠けているかどうかだけではわからなかった。 APIをチェックするための情報をありがとう。
user2676140
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.