LER ARQUIVO TXT
A rotina de importação seria esta aqui:
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?
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?
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 !!!!
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 !!!!
[ô]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
[ô]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
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.
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.
Usei o seguinte codigo e esta abrindo o diretorio
Porem o erro acontece neste linha agora
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
troque Do While Eof(FreeFile) = False
por Do While Eof(FileNumber) = False
por Do While Eof(FileNumber) = False
Foi erro meu mesmo, falta de atenção, obrigado a todos pela ajuda.
Tópico encerrado , respostas não são mais permitidas