AJUDA COM IMPORTACAO DE TXT PARA ACCESS
Olá pessoal do VBMania... primeiramente feliz natal pra todos e um grande ano novo que vem ai...
pessoal estou com uma dúvida,
eu tenho um arquivo texto, com varios valores, e estes preciso colocar dentro de um MDB, ou seja, access..
o arquivo texto segue dessa maneira:
ou seja ele não é delimitado por algum caractere...
como posso fazr essa carga desse TXT dentro do meu access...
realmente nao consegui um jeito...
eu fiz um código so que ele retorna a linha inteira, e nao valor por valor (nao fiz delimitado por isso aparece a linha inteira, mas como nao tem delimitador, ou nao sei se tem, ai nao consegui fazer)
OBS: SE POSSIVEL, SERIA MELHORA AINDA PRA MIM, SE CONSEGUISSE PEGAR APENAS O PRIMEIRO VALOR E O TERCEIRO, OU SEJA 14 E NAM4
POIS SO PRECISO DESTES 2 VALROES... O 14 QUE EH O NUMERO DELE E O NOME Q EH O TERCEIRO VALOR!!!
meu código:
OBS: o código acima apenas busca as linhas e le uma a uma... eu n fiz o insert ainda, pq nao consegui dividir cada valo em uma variavel, ou um array
espero ajuda
obrigado a todos!
pessoal estou com uma dúvida,
eu tenho um arquivo texto, com varios valores, e estes preciso colocar dentro de um MDB, ou seja, access..
o arquivo texto segue dessa maneira:
14 1 [Ô]NaM4[Ô] 19 525 0 68 74 22 0 93 22 2 0 1 4 400 1400 10 2 160 12 6 0 0 0 0 0
ou seja ele não é delimitado por algum caractere...
como posso fazr essa carga desse TXT dentro do meu access...
realmente nao consegui um jeito...
eu fiz um código so que ele retorna a linha inteira, e nao valor por valor (nao fiz delimitado por isso aparece a linha inteira, mas como nao tem delimitador, ou nao sei se tem, ai nao consegui fazer)
OBS: SE POSSIVEL, SERIA MELHORA AINDA PRA MIM, SE CONSEGUISSE PEGAR APENAS O PRIMEIRO VALOR E O TERCEIRO, OU SEJA 14 E NAM4
POIS SO PRECISO DESTES 2 VALROES... O 14 QUE EH O NUMERO DELE E O NOME Q EH O TERCEIRO VALOR!!!
meu código:
#region MetodoParaLerLinhaArquivo
private void LinhaArquivo()
{
StreamReader re = File.OpenText(@[Ô].\Carga.txt[Ô]);
string input = null;
int ia = 0;
while ((input = re.ReadLine()) != null)
{
MessageBox.Show(input);
//MessageBox.Show(input);
//ia++;
}
//MessageBox.Show(ia.ToString());
re.Close();
}
#endregion
OBS: o código acima apenas busca as linhas e le uma a uma... eu n fiz o insert ainda, pq nao consegui dividir cada valo em uma variavel, ou um array
espero ajuda
obrigado a todos!
Ok, entendi mas o espaçamento dos campos é sempre o mesmo?
posta umas 10 linhas ai pra gente ver... porque qualquer coisa a gente pega o valor pela posição que ele esta na string.
posta umas 10 linhas ai pra gente ver... porque qualquer coisa a gente pega o valor pela posição que ele esta na string.
ola zerocal
sim é sempre a mesma... ou melhor nao necessariamente a mesma, mas eu posso fazer ficar a mesma entendeu?
minha ideia é criar um editor ou seja, esse arquivo texto so vai possuir os registros que ja existe em um outro soft, e eu quero pegar apenas o primeiro e o terceiro valor...
mas a resposa eh sim...o espaçamento é sempre o mesmo, olhe:
a minha ideia é ao invez de criar outro txt somente com a primeira e a terceira linha, ja utilizar o arquivo existente, para poupar trabalho....
OBS: oq posso fazr é deixar todas as colunas com espaçamento de 1 TAB ou 2 TABS ficaria mais facil eu axo
abraços e vlw a resposta-
sim é sempre a mesma... ou melhor nao necessariamente a mesma, mas eu posso fazer ficar a mesma entendeu?
minha ideia é criar um editor ou seja, esse arquivo texto so vai possuir os registros que ja existe em um outro soft, e eu quero pegar apenas o primeiro e o terceiro valor...
mas a resposa eh sim...o espaçamento é sempre o mesmo, olhe:
26 1 [Ô]Breno[Ô] 3 45 0 7 10 2 0 13 2 2 0 1 4 400 1800 10 2 120 10 6 0 0 0 0 0
27 1 [Ô]Adamastor[Ô] 5 80 0 13 17 4 0 23 4 3 0 1 4 400 1800 10 2 120 10 6 0 0 0 0 0
28 1 [Ô]Valter[Ô] 10 165 0 26 31 10 0 44 10 3 0 1 5 400 1600 10 2 140 10 6 0 0 0 0 0
33 1 [Ô]Elis[Ô] 8 120 0 19 23 8 0 33 8 3 0 1 5 400 1600 10 2 130 10 6 0 0 0 0 0
30 1 [Ô]Angela[Ô] 15 295 0 46 51 15 0 68 15 3 0 1 4 400 1600 10 2 150 12 6 0 0 0 0 0
29 1 [Ô]Bruno[Ô] 13 220 0 36 41 13 0 56 13 3 0 4 4 400 1600 10 2 140 12 6 0 0 0 0 0
31 1 [Ô]Agon[Ô] 16 340 0 51 57 16 0 74 16 2 0 1 4 400 1400 10 2 150 12 6 0 0 0 0 0
32 1 [Ô]Bernardo[Ô] 18 465 0 62 68 20 0 86 20 2 0 2 3 400 2200 10 2 160 12 6 0 0 0 0 0
a minha ideia é ao invez de criar outro txt somente com a primeira e a terceira linha, ja utilizar o arquivo existente, para poupar trabalho....
OBS: oq posso fazr é deixar todas as colunas com espaçamento de 1 TAB ou 2 TABS ficaria mais facil eu axo
abraços e vlw a resposta-
se for separados por TAB podes dar split desse jeito olha.
FareBem...
{
StreamReader reader = new StreamReader([Ô]D:\ este\\dados.txt[Ô]);
string oneLine = reader.ReadLine();
while ((oneLine != null))
{
string[] vals = oneLine.Split(new Char[] { [ô] [ô] });
//Usando o array de strings
//Loop pelos dados obtidos
string s = null;
foreach (string s_loopVariable in vals)
{
s = s_loopVariable;
MessageBox.Show(s);
}
oneLine = reader.ReadLine();
}
}
FareBem...
ceto e para inserir?
Olha o que temos dentro da Variavel:
Para capturar os dados basta ler o array, dessa forma.
Ali nas messagebox pegamos o valor conforme o array, e dai tu joga pra uma string e taca no teu insert.
Farebem
Para capturar os dados basta ler o array, dessa forma.
private void button1_Click(object sender, EventArgs e)
{
StreamReader reader = new StreamReader([Ô]D:\ este\\dados.txt[Ô]);
string oneLine = reader.ReadLine();
while ((oneLine != null))
{
string[] vals = oneLine.Split(new Char[] { [ô] [ô] });
MessageBox.Show(vals[0]);
MessageBox.Show(vals[2]);
oneLine = reader.ReadLine();
}
}
Ali nas messagebox pegamos o valor conforme o array, e dai tu joga pra uma string e taca no teu insert.
Farebem
excelente meu caro zerocal,
vou fazer os testes
breve reporto valeu mesmo!!!
vou fazer os testes
breve reporto valeu mesmo!!!
Reportando....
o codigo que vc mensionou zerocal, funcionou 200%
muto obrigado mesmo!
Abraços!
o codigo que vc mensionou zerocal, funcionou 200%
muto obrigado mesmo!
Abraços!
Tópico encerrado , respostas não são mais permitidas