LER ARQUIVO TXT

PAULOHSV 13/04/2010 15:30:16
#339210
A rotina de importação seria esta aqui:

   rsBD.Open [Ô]SELECT * FROM ABASTECIMENTO where cod_fazenda=[Ô] & Identificador_fazenda, cn, adOpenStatic, adLockOptimistic
For MyIndex = 1 To 5 [ô] Faz o loop 5 vezes.
FileNumber = FreeFile [ô] Obtém o número de arquivo
Open Diretorio & MyIndex For Input As #FileNumber [ô] Cria o nome de arquivo.
Do While Not Eof(1)
[ô]pega a linha do TXT
Line Input #FileNumber, Linha
[ô]separa o texto antes de gravar
Separa() = Split(Linha, [Ô];[Ô])
[ô]grava o registro na tabela
rsBD.AddNew
[ô]TBCliente1(0) = Separa(0)
rsBD!ID_ABASTECIMENTO = GeraID([Ô]gen_abastecimento[Ô])
rsBD!COD_MAQUINARIO = Separa(1)
rsBD!DATA = Format(Separa(2), [Ô]yyyy-mm-dd[Ô])
rsBD!HORA = Format(Separa(3), [Ô]hh:mm[Ô])
rsBD!KM_HORA = Separa(4)
RS.Open [Ô]Select VALOR_UNITARIO FROM CAD_INSUMO WHERE ID_INSUMO=[Ô] & Separa(1), cn
rsBD!QUANTIDADE = Separa(5)
rsBD!VALOR_UNITARIO = RS!VALOR_UNITARIO
AUX = CDbl(Separa(5)) * CDbl(RS!VALOR_UNITARIO)
rsBD!VALOR_TOTAL = AUX
rsBD!COMBUSTIVEL = Separa(6)
rsBD!COD_FUNCIONARIO = Separa(7)
rsBD!COD_FAZENDA = Separa(8)
rsBD!COD_INSUMO = Separa(9)
rsBD!QUANTIDADE_INSUMO = Separa(5)
rsBD!VALOR_INSUMO = RS!VALOR_UNITARIO
rsBD!VALOR_TOTAL_INSUMO = AUX
RS.Close
TBCliente1.Update
Loop
[ô]fecha o arquivo texto
Close #1

Next MyIndex


A rotina me basiei deste exemplo aqui http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=6874 porem não importa, ele não consegue identificar o arquivo que eu preciso abrir. O que posso estar fazendo errado?
MKING 14/04/2010 08:26:06
#339303
LVFIOROT agora entendi, muito bom, isso seria interessante até subir como dica no site, para esclarecer o conceito a todos.

PAULOHSV qual o conteudo da variavel Diretorio ?
Vc realmente tem um arquivo que no nome tem de 1 a 5 no final? (Open Diretorio & MyIndex....)
Não faltaria algo como Open Diretorio & MyIndex & [Ô].txt[Ô] ? (A extensão do arquivo no final)
No final para fechar troque Close #1 por Close #FileNumber

checa td isso pra ver, uma hora vamos conseguir !!!!
MKING 14/04/2010 08:44:07
#339308
[ô]Vamos a um exemplo, que pode ser muito melhor, crie um arquivo txt no seu C:
[ô]com o nome de Teste.txt e escreva algumas linhas(Linha 1, Linha 2,Linha N)
[ô]Crie um novo projeto e insira um command button e esse código a segui no form
[ô]Com esse exemplo acho que pode achar o erro, vá adaptando para o seu código
[ô]aos poucos

Private Sub Command1_Click()
Dim FileNumber As Integer
Dim PathName As String
Dim Arquivo As String

PathName = [Ô]C:\[Ô]
FileNumber = FreeFile
Arquivo = [Ô]Teste.txt[Ô]

Open PathName & Arquivo For Input As #FileNumber
Do While Not EOF(FileNumber)
Line Input #FileNumber, linha
MsgBox linha
Loop
Close #FileNumber

End Sub
JEAN.JEDSON 14/04/2010 09:13:21
#339313
antes da linha

Open Diretorio & MyIndex For Input As #FileNumber [ô] Cria o nome de arquivo.


coloque um

msgbox [Ô][[Ô] & Diretorio [Ô]][Ô] & vbcrlf & [Ô][[Ô] & MyIndex & [Ô]][Ô] & vbcrlf & [Ô][[Ô] & Diretorio & MyIndex & [Ô]][Ô]

veja se na mensagem que for exibida não irá aparecer espaços depois do [Ô][[Ô] e antes do [Ô]][Ô].. se aparecer, tire os espaços. se não aparecer, veja se no fim do [Ô]Diretorio[Ô] tem um [Ô]\[Ô], se não tiver, adicione.
PAULOHSV 14/04/2010 10:42:57
#339325
Usei o seguinte codigo e esta abrindo o diretorio

                  FileNumber = FreeFile   [ô] Obtém o número de arquivo
Open Diretorio For Input As #FreeFile [ô] Cria o nome de arquivo.
Do While Eof(FreeFile) = False
[ô]pega a linha do TXT


Porem o erro acontece neste linha agora

  Do While Eof(FreeFile) = False 
MKING 14/04/2010 10:48:23
#339328
troque Do While Eof(FreeFile) = False

por Do While Eof(FileNumber) = False
PAULOHSV 14/04/2010 12:40:11
#339341
Foi erro meu mesmo, falta de atenção, obrigado a todos pela ajuda.
Página 2 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas