Página 1 de 1
HELP......TXT para DBF
Enviado: 22 Dez 2004 15:01
por kristo
Caros amigos estou precisando de um imenso favor.....preciso converter arquivos TXT para DBF, mais não tenho a mínima ideia de como fazer....se alguém tiver tempo disponível e puder montar uma PRG pra mim eu ficarei eternamente agradecido.
O TXT se encontra assim:
"INFRAERO EMPRESA BRASILEIRA DE INFRAESTRUTURA AERO";"00352294002911";"00000000000";"068";" 02111000";"69914220";"BR 364 00000 KM 18";"DISTRITO INDUSTRIAL";"RIO BRANCO";"AC";"N"
está tudo em uma linha só, e as colunas são onde estão os ; (ponto e vírgula, o txt chama "AC" eu gostaria de montar uma dbf com esse mesmo nome ou outro qualquer.
os campos são os seguintes: obedecendo o TXT
Nome
Doc1
Doc2
DDD
Telefone
CEP
Endereco
Bairro
Cidade
Estado
Obs
Se alguém puder me fazer esse enorme favor, eu agradeço de coração....sou leigo nesses assuntos.....desculpem o abuso, mais não encontrei outro modo de ajuda.
Enviado: 22 Dez 2004 15:14
por Antonio
Kristo.
A solução é simples:
USE arquivo.dbf
APPEND FROM arquivo.txt DELIMITED
USE
Delimited porque seu arquivo.TXT esta com a delimitação ";" entre um campo e outro.
Enviado: 22 Dez 2004 16:22
por kristo
Antonio escreveu:Kristo.
A solução é simples:
USE arquivo.dbf
APPEND FROM arquivo.txt DELIMITED
USE
Delimited porque seu arquivo.TXT esta com a delimitação ";" entre um campo e outro.
*******
Antonio alguma coisa tá errado ou eu que tô errado.......deu tudo certo, só tem um problema........está indexando no DBF apenas o NOME os outros campos estão em branco. Porque será
Enviado: 22 Dez 2004 17:22
por Clipper
Prezado Colega
Primeiro crie um arquivo com a mesma estrutura mencionada na sua postagem depois faça a importação com o seguinte comando.
Obs : Para facilitar coloque todos os campos como Caractere
Coloque o nome do arquivo que você criou de AC.DBF depois é :
USE AC
APPEND FROM AC.TXT DELIMITED WITH ";"
DBCLOSEALL()
Até logo.
Marcelo
Enviado: 22 Dez 2004 17:44
por Antonio
Kristo,
O esclarecimento adicional do colega Marcelo deve resolver, desculpe, faltou a Clausula WITH ";" .
Se voce conhece a estrurara original do arquivo.dbf do qual foi feita a exportação para .TXT, conserve-a na construção do DBF que ira receber a importação do .TXT, se não faça conforme orienta o colega Marcelo.
Enviado: 22 Dez 2004 17:46
por kristo
Clipper escreveu:Prezado Colega
Primeiro crie um arquivo com a mesma estrutura mencionada na sua postagem depois faça a importação com o seguinte comando.
Obs : Para facilitar coloque todos os campos como Caractere
Coloque o nome do arquivo que você criou de AC.DBF depois é :
USE AC
APPEND FROM AC.TXT DELIMITED WITH ";"
DBCLOSEALL()
Até logo.
Marcelo
..............Vou endoidar.........amigo fiz conforme vc pediu, criei o DBF com todos os campos nome, doc1, doc2, ddd, etc....
mais na hora que executo a prg para mover os dados para a DBF, só move a parte que vai para o campo NOME da DBF........o restante dos campos ficam em branco.
Enviado: 22 Dez 2004 18:15
por Antonio
Kristo
Observe o seguinte:
A estrutura do arquivo.dbf que gerou o arquivo.txt na exportação, deve ser mantida na construção do DBF que ira receber a importação do .TXT sendo que o NOME de cada CAMPO pode ser ADOTADO conforme seu gosto ou necessidade respeitando-se os limites do clipper para nome de Campos.
Agora o TIPO, TAMANHO e DECIMAL devem ser identicos entre DBF de origem e DBF de destino.
Somente ilustrando:
DBF origem (que gerou o txt)
NOME, CARACTER, 40, 0
TELE, CARACTER, 08, 0
ENDERE, CARACTER,40,0
O seu DBF destino (que recebera a copia do .txt), poderia ser assim:
NOMECLI, CARACTER, 40,0
TELECLI, CARACTER, 08,0
ENDCLI, CARACTER, 40,0
O nome dos campos podem variar, mas a estrutura tem de ser a mesma
Enviado: 22 Dez 2004 18:47
por kristo
Antonio escreveu:Kristo
Observe o seguinte:
A estrutura do arquivo.dbf que gerou o arquivo.txt na exportação, deve ser mantida na construção do DBF que ira receber a importação do .TXT sendo que o NOME de cada CAMPO pode ser ADOTADO conforme seu gosto ou necessidade respeitando-se os limites do clipper para nome de Campos.
Agora o TIPO, TAMANHO e DECIMAL devem ser identicos entre DBF de origem e DBF de destino.
Somente ilustrando:
DBF origem (que gerou o txt)
NOME, CARACTER, 40, 0
TELE, CARACTER, 08, 0
ENDERE, CARACTER,40,0
O seu DBF destino (que recebera a copia do .txt), poderia ser assim:
NOMECLI, CARACTER, 40,0
TELECLI, CARACTER, 08,0
ENDCLI, CARACTER, 40,0
O nome dos campos podem variar, mas a estrutura tem de ser a mesma
******** amigo entendi a sua colocação, realmente eu estava fazendo errado....só que tem um detalhe que esqueci de mensionar........
Eu recebi o arquivo já em TXT, portanto não sei a estrutura dele.......nesse caso, tem como eu geral um dbf sem saber tal informação ?
Enviado: 22 Dez 2004 19:02
por Antonio
Tive um problema semelhante, porem com campos DATA e minha saida foi presumir a estrutura, não quero dizer que seja uma regra, mas é como eu fiz.
Depois de observado a maneira incorreta como voce menciona, voce tentou importar novamente os dados?
Qual é o tamanho do primeiro campo do DBF que recebe os dados importados do TXT?
Enviado: 23 Dez 2004 10:05
por kristo
Antonio escreveu:Tive um problema semelhante, porem com campos DATA e minha saida foi presumir a estrutura, não quero dizer que seja uma regra, mas é como eu fiz.
Depois de observado a maneira incorreta como voce menciona, voce tentou importar novamente os dados?
Qual é o tamanho do primeiro campo do DBF que recebe os dados importados do TXT?
Fazendo figa para que dê certo, hehehe
O tamanho é de 60 caracteres
Se alguém quiser eu posso estar enviando o arquivo TXT zipado.......o desespero é enorrrrrrrrrrrrrrrrrrrrrrrrrrme,

Enviado: 23 Dez 2004 12:08
por Antonio
Se alguém quiser eu posso estar enviando o arquivo TXT zipado.......o desespero é enorrrrrrrrrrrrrrrrrrrrrrrrrrme,

manda em
tonyenoe@terra.com.br ou
tonyenoe@bol.com.br
Enviado: 23 Dez 2004 15:59
por kristo
Tá lá já............nos dois............abraços
Enviado: 23 Dez 2004 15:59
por Antonio
Kristo,
Seu problema vai alem.....
Parece que houve algum inconveniente na geração do TXT que me parece um aquivo delimitado por ";", contudo existem esse caracter em partes do arquivo que estão sobrando, a mais, entendeu?
Sugestão:
Com um editor de prucure pelos caracteres ";" e substituia-os por um [espaço em branco], bem assim as aspas duplas ("").
Outra forma seria uma Função para agir no TXT removendo esses caracteres, assim voce podera utilizar o APPEND FROM SDF.
Ainda restaria a questão do TAMANHO DE CAPA CAMPO, menos mal, pois todos me parecem caracter, contudo o tamanho implica na disposição dos dados na importação.
Outra coisa, voce não tem acesso a uma copia do Bando de Dados Original?
SE negativo, voce não tem como solicitar que seja gerado um novo TXT sem delimitadores, por exemplo?
SE negativo, voce não tem como solicitar a ESTRUTURA do banco de dados original?