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