IMPORTAR VARIOS TXT

MARCELOFAZAN 03/09/2010 21:38:33
#352171
Pessoal , a partir desse codigo abaixo

Dim Arquivo As String
Arquivo = Dir([Ô]C:\Arquivos de programas\Sistema\TXT\*.*[Ô])
Do While Arquivo <> [Ô][Ô]
MsgBox Arquivo
Arquivo = Dir
Loop

tenho a seguinte resposta

00035.txt
00047.txt

ja tenho a importacao feita , só que precisa digitar 1 por 1 .... queria no click do login , ou no load importar o resultado a variavel Arquivo, ao inves de digitar 1 por 1

alguem consegue declarar o freefile ai e me mostrar onde encaixo a variavel inves do meu campo txt a qual escreve 1 a 1

aBraços
Marcelo
PAULOOLIVEIRA 03/09/2010 22:29:50
#352177
companheiro, pq. voce enquanto faz o while vai abrindo o arquivo e importando

ex..


do while...

arquivo = dir...
open #1 arquivo......
tralalalala.. importa ...
close #1
loop

tenta i
MARCELOFAZAN 03/09/2010 23:44:27
#352182
ola Paulo , tentar eu tento venho tentado bastante , só que sempre da erro de path , nao chego perto da solucao correta ....

tenho o clique onde .... escrevo exatamente 00035.txt 00047.txt e importo 1 a 1 na mão
queria passar para o Load da tela

queria misturar isso **********************************************

Dim Arquivo As String
Arquivo = Dir([Ô]C:\Arquivos de programas\Sistema\TXT\*.*[Ô])
Do While Arquivo <> [Ô][Ô]
MsgBox Arquivo
Arquivo = Dir
Loop


com isso **************************************


Private Sub Command1_Click()
Dim strFileName As String

If Right(txtArquivo.Text, 4) <> [Ô].txt[Ô] Then
MsgBox [Ô]Nome de arquivo inválido. Favor digitar o nome do aquivo com extensão .txt[Ô]
Exit Sub
End If

If Dir(App.Path & [Ô]\TXT\[Ô] & txtArquivo.Text, vbArchive) = [Ô][Ô] Then
MsgBox [Ô]Arquivo [ô]TXT[ô] não encontrado![Ô]
Exit Sub
End If

strFileName = App.Path & [Ô]\TXT\[Ô] & txtArquivo.Text

Open strFileName For Input As #1

Dim intCod, strPagamento, strPagam, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula, t_virgula As Integer

Do Until EOF(1)
linha = strFileName

Line Input #1, linha
p_virgula = InStr(linha, [Ô],[Ô])
linha2 = Mid(linha, p_virgula + 1)
s_virgula = InStr(linha2, [Ô],[Ô])
linha3 = Mid(linha2, s_virgula + 1)
t_virgula = InStr(linha3, [Ô],[Ô])


intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strPagamento = LTrim(Mid(linha2, 2, s_virgula - 3))
strPagam = LTrim(Mid(linha3, 2, t_virgula - 3))



SQL = [Ô]UPDATE buscar SET[Ô]
SQL = SQL & [Ô] pagamento=[ô][Ô] & strPagamento & [Ô][ô],[Ô]
SQL = SQL & [Ô] pagam=[ô][Ô] & strPagam & [Ô][ô][Ô]
SQL = SQL & [Ô] Where cod_fox = [ô][Ô] & intCod & [Ô][ô][Ô]
cn.Execute SQL

Loop
Close #1
cn.Close

txtArquivo.Text = App.Path & [Ô]\TXT\[Ô] & txtArquivo.Text
Kill txtArquivo.Text

MsgBox [Ô]Transferência concluida com sucesso[Ô], vbExclamation
txtArquivo.Text = [Ô][Ô]
Unload Me
End Sub


e tirar a questao de precisar escrever TXT por TXT
compreende
só que nao to sabendo substituir a variavel pelo txtArquivo.Text

se puder ajudar
Agradeço
Abs
Marcelo
TECLA 04/09/2010 09:55:50
#352196
Resposta escolhida
Tente assim:

Dim Arquivo As String, Pasta As String
Pasta = [Ô]C:\Arquivos de programas\Sistema\TXT\[Ô]
Arquivo = Dir(Pasta & [Ô]*.*[Ô])
Do While Arquivo <> [Ô][Ô]
MsgBox Arquivo
Arquivo = Dir
CarregarArquivo Pasta & Arquivo
Loop

Sub CarregarArquivo()
[ô]Rotina para carregar seus arquivos AQUI
End Sub
MARCELOFAZAN 04/09/2010 19:51:23
#352230
Ola Tecla , obrigado a postagem

encaxei dentro do Load do Form dessa forma
me retorna uma mensagem assim
Compile error wrong of arguments or invalid property assignment

e aponta o erro para essa linha
CarregarArquivo Pasta & Arquivo


Dim Arquivo As String, Pasta As String
Pasta = [Ô]C:\Arquivos de programas\Sistema\TXT\[Ô]
Arquivo = Dir(Pasta & [Ô]*.*[Ô])
Do While Arquivo <> [Ô][Ô]
MsgBox Arquivo
Arquivo = Dir
CarregarArquivo Pasta & Arquivo
Loop


Sub CarregarArquivo()

strFileName = App.Path & [Ô]\TXT\[Ô] & Arquivo

Open strFileName For Input As #1

Dim intCod, strPagamento, strPagam, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula, t_virgula As Integer

Do Until EOF(1)
linha = strFileName

Line Input #1, linha
p_virgula = InStr(linha, [Ô],[Ô])
linha2 = Mid(linha, p_virgula + 1)
s_virgula = InStr(linha2, [Ô],[Ô])
linha3 = Mid(linha2, s_virgula + 1)
t_virgula = InStr(linha3, [Ô],[Ô])

intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strPagamento = LTrim(Mid(linha2, 2, s_virgula - 3))
strPagam = LTrim(Mid(linha3, 2, t_virgula - 3))

SQL = [Ô]UPDATE buscar SET[Ô]
SQL = SQL & [Ô] pagamento=[ô][Ô] & strPagamento & [Ô][ô],[Ô]
SQL = SQL & [Ô] pagam=[ô][Ô] & strPagam & [Ô][ô][Ô]
SQL = SQL & [Ô] Where cod_fox = [ô][Ô] & intCod & [Ô][ô][Ô]
cn.Execute SQL

Loop
Close #1
cn.Close

End Sub



Vlw
Marcelo
TECLA 04/09/2010 23:06:49
#352246
O erro ocorre, pois você criou uma rotina chamada Sub CarregarArquivo() sem parâmetros de entrada.
Tente assim:

Sub CarregarArquivo(arq As String)
strFileName = arq
...
End Sub
MARCELOFAZAN 05/09/2010 10:08:39
#352263
Olá Tecla , obrigado novamente

Sub CarregarArquivo(arq As String)
strFileName = arq
Open strFileName For Input As #1

agora o Erro esta nessa linha

Open strFileName For Input As #1 - Run time Error 76 Path not found

poderias me ajudar novamente, em como arrumar o erro

Obrigado
abraço
Marcelo
TECLA 05/09/2010 10:22:08
#352267
OK, põe um BREAK POINT na linha sinalizada abaixo, e posta o conteúdo dela aqui no tópico.

Sub CarregarArquivo(arq As String)
strFileName = arq [txt-color=#007100][ô]<---Break Point nesta linha[/txt-color]
Open strFileName For Input As #1
...
End Sub


Outra coisa, confere se o arquivo existe na pasta correspondente ao conteúdo à variável strFileName.
MARCELOFAZAN 05/09/2010 10:43:05
#352268
Ok, sim qdo inicia a tela aparece 2 mensagem box 00035.txt e 00047.txt

strFileName = arq carrega ambos em arq

no breakpoint isso - strFileName = [Ô]C:\Arquivos de programas\Sistema\TXT[Ô]

o que precebi de diferente era que o arquivo é .txt minusculo e o TXT e o tratamento de arq foi maisculo


Parece que o Erro passou , vo verificar melhor , ai estarei postando

e se o erro passo e nao importou ????

Obrigado
MARCELOFAZAN 05/09/2010 13:00:53
#352285
tentei em anexar arquivo aqui mesmo onde escreve abaixo ... ele nao aceitou a extensao do arquivo RAR
como faço pra mandar um rar do codigo

obrigado
abs
Marcelo
TECLA 05/09/2010 13:27:41
#352288
Poste o arquivo no formato .ZIP.
Página 1 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas