IMPORTACAO DE ARQUIVO TXT PARA BD

LUCASCORREA 23/04/2004 17:20:56
#22303
Estou tentando importar um arquivo txt, mas quando chega em um certo ponto que tem uma virgula dá erro porque ela para na virgula e depois continua depois da virgula e não na proxima linha, estou tentando assim:

Dim vai As String
Dim LOGTXT As String

Caminhofile = "C:\ARQUIVO.txt"

Dim MyNumber

Open Caminhofile For Input As #1 ' Open file for input.
Do While Not EOF(1) ' Loop until end of file.
Input #1, LOGTXT ' Read data into two variables.
If LOGTXT "" Then
camp1 = Mid$(LOGTXT, 1, 6)
camp2 = Mid$(LOGTXT, 7, 10)
camp3 = Mid$(LOGTXT, 17, 6)
camp4 = Mid$(LOGTXT, 23, 60)
camp5 = Mid$(LOGTXT, 83, 100)
TBCadastro.AddNew
TBCadastro!CODEMPRESA = camp1
TBCadastro!Data = camp2
TBCadastro!CODCONTA = camp3
TBCadastro!HISTORICO = camp4
TBCadastro!VALOR = camp5
TBCadastro.Update
End If
Loop
Close #1

USUARIO.EXCLUIDOS 23/04/2004 17:27:27
#22305
Resposta escolhida

Se essa virgula estiver no "camp5" voce tera de trocar a virgula para ponto antes de inserir no banco !
Tente assim:

Dim vai As String
Dim LOGTXT As String

Caminhofile = "C:\ARQUIVO.txt"

Dim MyNumber

Open Caminhofile For Input As #1 ' Open file for input.
Do While Not EOF(1) ' Loop until end of file.
Input #1, LOGTXT ' Read data into two variables.
If LOGTXT "" Then
camp1 = Mid$(LOGTXT, 1, 6)
camp2 = Mid$(LOGTXT, 7, 10)
camp3 = Mid$(LOGTXT, 17, 6)
camp4 = Mid$(LOGTXT, 23, 60)
camp5 = Mid$(LOGTXT, 83, 100)
camp5 = Replace(camp5 , ".","") 'Remove pontos
camp5 = Replace(camp5 , ",",".") 'Troca virgula por ponto

TBCadastro.AddNew
TBCadastro!CODEMPRESA = camp1
TBCadastro!Data = camp2
TBCadastro!CODCONTA = camp3
TBCadastro!HISTORICO = camp4
TBCadastro!VALOR = camp5
TBCadastro.Update
End If
Loop
Close #1
USUARIO.EXCLUIDOS 23/04/2004 17:39:33
#22308
Edite esse arquivo no EDIT ou no WORDPAD e faça uma verficação visual nesse arquivo... deve haver algum caracter estranho entre o 100 e o 89 para que isso ocorra !
USUARIO.EXCLUIDOS 23/04/2004 17:57:46
#22310

Se puder me mande esse arquivo para eu dar uma olhada num editor em formato hexadecimal !

Qual editor de textos você usou para visualizar o arquivo ?
USUARIO.EXCLUIDOS 23/04/2004 20:26:04
#22324

Eu havia pensado que o problema estava no formato do seu arquivo, mais não é isso não !

Além de trocar as virgulas por ponto conforme meu primeiro post troque a função "Input" por "Line Input"...
A função "Line Input" le a linha toda até os caracteres CRLF (exclusive) e armazena numa variável, já a função "Input" le uma linha e joga em lista de variaves sendo a virgula é tratada como um delimitar de campo.
Tópico encerrado , respostas não são mais permitidas