alterar DBF

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Glauco Cruz Costa
Usuário Nível 3
Usuário Nível 3
Mensagens: 102
Registrado em: 15 Dez 2005 22:02
Localização: Brasília/DF
Contato:

alterar DBF

Mensagem por Glauco Cruz Costa »

:-o
Saudações a todos os clipeiros!
Estou tentando alterar o tamanho de um campo no meu arquivo DBF.
Quando entro pelo DBU.EXE faço as alterações, mas ele zera o banco de dados. Eu tenho um campo string de tamanho 15 e quero passar para 20, ou seja, aumentar o espaço.
Já tentei, também, criar um outro DBF e importar os dados para ele, usando copy to e sort, mas o dbf de destino se alterou também.
Qual solução outra poderia eu usar?
Obrigado!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mudar estrutura de DBF

Mensagem por Pablo César »

Caro Glauco,

Isso é extremamente fácil. Não entendo onde estaria a dificuldade. Vou te passar meu procedimento:

Digamos que o DBF seja CLIENTES e tenham os seguintes campos:

COPY FILE("CLIENTES.DBF") TO ("CLIENTES.OLD")
CAMPOS:={{"MATRICULA" ,"N",004,000},;
{"NOME" ,"C",036,000},;
{"DTANAS" ,"D",008,000},;
{"ENDRES" ,"C",036,000},;
{"BAIRRO" ,"C",020,000},; // Digamos que este era o campo diferente ao que estava
{"FONE" ,"C",009,000},;
{"CIC" ,"C",014,000},;
{"LIMITE" ,"N",006,002} }
DBCREATE("CLIENTES.DBF",CAMPOS)
USE CLIENTES.DBF
APPEND FROM CLIENTES.OLD

Também daria para gerar o conteúdo do DBF1 para arquivo TEXTO com delimiters (com virgulas) e depois importar desde o DBF2 com a nova estrutura. Mas claro que os nomes dos campos e tipo tem que ser os mesmo. Senão terias que fazer uma rotina para transformar os campos modificados. se ainda encontrar dificuldade, me mande por email a estrutura do teu DBF (ou o DBF mesmo).

Um clip-abraço.
:)Pos
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Re: alterar DBF

Mensagem por Pablo César »

Glauco Cruz Costa escreveu: Já tentei, também, criar um outro DBF e importar os dados para ele, usando copy to e sort, mas o dbf de destino se alterou também.
Acho que está bem ali teu erro. Se você deseja fazer 2º DBF e importar os dados do 1º DBF. Você não deve usar o copy, ao menos que utilize para criar um arquivo TEXTO e depois importar com o APPEND FROM. Mas acho que você deveria primeiro criar o DBF2 e usar o APPEND FROM DBF1 que seria mais adequado. E por quê o SORT ?. Se o teu objetivo e criar o 2º DBF em ordem alfabetica (digamos) fisicamente ???. Acho desnecessário.

:xau
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

Alterar DBF

Mensagem por Netavin »

Boa tarde a todos !
Pablo, esta informação que vc deu ao colega, serve também para acrescentar um novo campo no DBF ?

[]´S

Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Positivo, poderia sim, bastaria adicionar mais um elemento à matriz CAMPOS.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
acelconsultoria
Usuário Nível 3
Usuário Nível 3
Mensagens: 231
Registrado em: 10 Jan 2006 17:05
Localização: Itápolis-SP

Mensagem por acelconsultoria »

Bom, se vc não quiser inserir alguma rotina no programa para fazer a alteração, vc pode contar tbem com o FOXBase, que altera a estrutura do DBF sem perder os dados.

Eu uso direto !!!

Abraços.
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

DBF

Mensagem por Netavin »

... valeu !

[]´s

Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

Mensagem por Netavin »

.. hei acel, procurei o Foxbase como agulha no palheiro, através do eMule. Só apareceu lixo. Lembra daquele site onde encontramos velhos programas, os abandonados...?

Netavain
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

DBF

Mensagem por Netavin »

Salve "bomnígno" !
Gracias !
:{

Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Avatar do usuário
acelconsultoria
Usuário Nível 3
Usuário Nível 3
Mensagens: 231
Registrado em: 10 Jan 2006 17:05
Localização: Itápolis-SP

Mensagem por acelconsultoria »

"Bomnigno" !!!!


huahauahuahauahauah.... :))

É... realmente, o Maligno na verdade "salva a pátria" de muita gente aqui !!!
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

DBF

Mensagem por Netavin »

Bom dia amigos ! Oxalá 2008 seja de muitas realizações para todos nós.
Vou pegar esse gancho para não abrir outro tópico.

Colegas, no meu sistema de cadastro de produtos, existe o campo "data cadastro" e "data da baixa". Pois bem, ocorre que ao baixar o produto, este continua no DBF original. Estou cá a pensar comigo mesmo se não seria mais correto transferir esses produtos baixados para outro DBF. Seria essa a forma ideal ? Pois quando quero um relatório dos produtos ... d e m o r a .
Da forma que está o DBF só vai inchando. É isto ?

Um abraço a todos!!

Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

vc pode contar tbem com o FOXBase, que altera a estrutura do DBF sem perder os dados.
Mas o FoxBase não altera a header do arquivo ?
Ou estou enganado de Fox ?
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
Netavin
Usuário Nível 3
Usuário Nível 3
Mensagens: 306
Registrado em: 28 Fev 2007 08:37
Localização: Cacoal-RO

DBF

Mensagem por Netavin »

Olá caro colega Alaminojunior!

... pedoe-me pela minha ignorância!!! Não entendi o significado do seu texto. Alterar header !? como é isso ?

[]´s

Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

Existe uma versão do Fox, não sei qual, que se não me engano, altera o cabeçalho e delimitadores do dbf. ( header é uma espécie de DNA do DBF, onde está contido algumas inforamações do banco, data de criação, ultima alteração, campos, etc...)
Sei disso pois há muitos anos atrás, quando ainda nem programava, apenas fuçava, levei uma senhora duma bronca do programador, pois havia aberto um arquivo DBF do Clipper com o Fox. Até hoje sinto raiva dele ! E ele de mim ! :)) :)) :))
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Responder