Como capturar qualquer erro no Access VBA

0

Eu encontrei um tutorial que me mostrou como registrar erros no Access VBA, e ele funciona principalmente ... mas ao verificar minha tabela de erros existem aproximadamente 40 entradas que não possuem um número de erro registrado nem há uma descrição. Estou querendo que o erro não seja exibido para o usuário, mas quando o erro ocorrer, envie-me o nome de usuário, o nome do computador, o número do erro e a descrição para que eu possa atualizá-lo conforme necessário. Mas sem uma descrição e / ou erro, não posso fazer muita coisa.

Este é o procedimento que eu tenho, o que eu preciso adicionar / alterar / editar / atualizar para poder capturar os erros que faltam?

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

E o procedimento acima exibe números de erro na minha tabela

6, 2113, 3070

EDITAR
Estou usando o sub como um todo geral para tentar escrever erros e posso corrigi-los assim que eu for notificado. Por exemplo, este é um sub que eu uso para pesquisar dados de um banco de dados e preencher campos em um formulário:

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
    
por user2676140 12.08.2016 / 21:13

0 respostas