GRAVAR ERRO EM ARQUIVO

USUARIO.EXCLUIDOS 16/09/2006 13:22:46
#171854
Amigos,

Estou querendo desenvolver uma rotina que grave o erro mostrado na tela em arquivo. O arquivo teria que ter a data + hora atual, de tal maneira que se acontecer mais de um erro no dia, ele capturaria todos.

Eu tinha feito a seguinte rotina:

Public Sub DisplayErrorMessage(Formulario As String, Optional Procedimento As String)


Dim Texto As String

If gcnAp.Errors.Count > 0 Then
Texto = "Formulario:" & Formulario + vbCrLf + _
"Procedimento: " & IIf(IsNull(Procedimento), "", Procedimento) + vbCrLf + _
"Código do erro: " & gcnAp.Errors(0).Number & vbCrLf & _
"Descrição : " & gcnAp.Errors(0).Description & vbCrLf & _
"Chamado de: " & gcnAp.Errors(0).Source & vbCrLf & _
"Erro : Banco de Dados" & vbCrLf & _
"Base : " & Err.Source
MsgBox Texto, vbOKOnly + vbCritical, gsTituloMensagem
Else
Texto = "Formulario....: " & Formulario & vbCrLf & _
"Procedimento..: " & IIf(IsNull(Procedimento), "", Procedimento) + vbCrLf + _
"Código do erro: " & Err.Number & " na Linha " & Str$(Erl) & vbCrLf & _
"Descrição.....: " & Err.Description & vbCrLf & _
"Chamado de....: " & Err.Source & vbCrLf & _
"Erro..........: Procedimento"
MsgBox Texto, vbOKOnly + vbCritical, gsTituloMensagem
End If

'Gravando erro em arquivo
Dim NomeArquivo As String
NomeArquivo = "Error - " + Format(Date, "ddmmaa")
Open NomeArquivo For Input As #1
Texto = Input(LOF(1), #1)
Close
End Sub


O problema é que ela so funciona se o arquivo ja existe.

Abraços a todos,


CAIO.IN.DUST 16/09/2006 15:05:10
#171876

'Gravando erro em arquivo
Dim NomeArquivo As String
NomeArquivo = "Error - " + Format(Date, "ddmmaa")
Open NomeArquivo For Input As #1
Texto = Input(LOF(1), #1)
Close
End Sub


troque o [Input] por [Append] desta maneira...


'Gravando erro em arquivo
Dim NomeArquivo As String
NomeArquivo = "Error - " + Format(Date, "ddmmaa")
Open NomeArquivo For Append As #1
Texto = Input(LOF(1), #1)
Close
End Sub


assim o vb ira criar o arquivo, mais tem um problema, desta maneira vc so adiciona no final do arquivo, não tem como alterar o conteudo ja existente...
Da uma lida no manual que vc vai entender...
Ate mais
USUARIO.EXCLUIDOS 16/09/2006 15:48:06
#171878
Caio,

Valeu!!!!
Vou testar, qualquer coisa posto de novo.

Abs,
Mem

USUARIO.EXCLUIDOS 16/09/2006 21:32:28
#171911
Caio,

Testei o que vc falou mas gerou o seguinte erro:

Run-time error 54
Bad file mode

Vc sabe como solucionar esse erro?


USUARIO.EXCLUIDOS 16/09/2006 21:46:00
#171914
Resposta escolhida
tenta assim:

'Gravando erro em arquivo
Dim NomeArquivo As String
NomeArquivo = "Error - " + Format(Date, "ddmmaa")
Open NomeArquivo For OutPut As #1
Print #1, Texto
Close
End Sub

USUARIO.EXCLUIDOS 16/09/2006 22:09:50
#171924
Marcelo,

Valeu!!!!
Agora funcionou!!!!

Abs,
Mem
Tópico encerrado , respostas não são mais permitidas