Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mestre fyoda

salvar arquivo

Recommended Posts

Esse script ta com um probleminha , quando eu gravo as informaçoes grava numa boa mas na segunda vez que vou garvar ele grava por sima , o que devo faze para concerta-lo ?

Dim bd As New ADODB.Recordset Var1 = List1.List(List1.ListIndex)xVar1 = Replace(Var1, "'", "''")  With bd   .Open "Select * From clientes where nome = '" & xVar1 & "' ", cn, adOpenStatic, adLockReadOnly  If Not .EOF Thenn = FreeFile()Open "c:\" & bd.Fields("placa").Value & ".doc" For Output As #nPrint #n, "Data : " & NowPrint #n, "Ordem de Serviço : " & servico.TextPrint #n, "Kilometragem : " & km.TextClose #n  End With

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz uma verificação pra ver se o arquivo existe, assim:

 

If Dir$(caminho_do_arquivo) = "" Then      'arquivo ñ existeelse      'arquivo já existe      'abre o arquivo para pegar (open for input) os valores e depois escreve de novo end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para fazer isso sem precisar usar nenhuma outra DLL você tem que abrir o arquivo copiar todo o conteúdo depois criar um novo e escrever o que tinha antes mais os novos valores:

If Dir$(caminho_do_arquivo) = "" Then   Open "c:\" & bd.Fields("placa").Value & ".doc" For Output As #n       Print #n, "Data : " & Now       Print #n, "Ordem de Serviço : " & servico.Text       Print #n, "Kilometragem : " & km.Text  Close #nelse    Dim linhas() As String    Dim x As Integer    Open "c:\" & bd.Fields("placa").Value & ".doc" For Input As #1        While Not EOF(1)            ReDim Preserve linhas(x)            Line Input #1, linhas(x)            x = x + 1        Wend    Close #1    Open "c:\" & bd.Fields("placa").Value & ".doc" For Output As #1        For x = LBound(linhas) To UBound(linhas)            Print #1, linhas(x)        Next x        Print #1, "novo texto"    Close #1end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que bastaria usar FOR APPEND no lugar de OUTPUT.

 

Assim:

 

Open "c:\" & bd.Fields("placa").Value & ".doc" For Append As #n

Assim nao apaga os registros ja existentes.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.