Я нашел учебник, который показал мне, как регистрировать ошибки в 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

РЕДАКТИРОВАТЬ
Я использую сабвуфер как общую ловушку, чтобы попытаться написать ошибки, и я могу исправить их, как только получу уведомление. Например, это подраздел, который я использую для поиска данных из базы данных и заполнения полей в форме:

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

0