Alteração na Estrutura do DBF com registros.
Moderador: Moderadores
- Marcos
- Usuário Nível 3

- Mensagens: 355
- Registrado em: 20 Set 2003 09:16
- Localização: Cáceres/Mato Grosso
Alteração na Estrutura do DBF com registros.
Saudações a todos, estou com um problema, nunca passei por esta situação, já vi vários tópicos abordando este assunto, mas só agora estou precisando, acredito que não consigo mais acessar estes referidos tópicos, bom vamos ao problema:
Tenho um DBF de Clientes, nele existem vários clientes já cadastrados, só que eu atualizei a Estrutura do DBF, mudando muita coisa (Tamanho dos campos, de Character para Numeric, inclusão de alguns campos que não existiam e etc) só que agora eu não sei como eu faço para realizar tal alteração na Estrutura do DBF sem perder os registros já cadastrados (Clientes), na primeira tentativa que fiz, já foi em vão, pois fiz todas as alterações na estrutura do DBF Clientes pedi para gravar deu um erro e saiu fora, aconteceu que perdi todos os registros que estavam cadastrados, a única coisa que deu certo foram as alterações na Estrutura do DBF (Clientes), ficaria muito grato com a ajuda de vocês.
Abraços,
Marcos
Da Roça.
Tenho um DBF de Clientes, nele existem vários clientes já cadastrados, só que eu atualizei a Estrutura do DBF, mudando muita coisa (Tamanho dos campos, de Character para Numeric, inclusão de alguns campos que não existiam e etc) só que agora eu não sei como eu faço para realizar tal alteração na Estrutura do DBF sem perder os registros já cadastrados (Clientes), na primeira tentativa que fiz, já foi em vão, pois fiz todas as alterações na estrutura do DBF Clientes pedi para gravar deu um erro e saiu fora, aconteceu que perdi todos os registros que estavam cadastrados, a única coisa que deu certo foram as alterações na Estrutura do DBF (Clientes), ficaria muito grato com a ajuda de vocês.
Abraços,
Marcos
Da Roça.
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
...eh qdo vc muda um campo caractere para numerico no dbu da bucha...
...qdo preciso fazer fazer tal alteração... uso o foxbase...nunca tive problemas....
carrego o programa ... use arquivo .... modi stru ... ctrl+end ...salvo e tudo certo...
para pegar o foxbase...vá no site no Wagner...
http://www.vagucs.com.br/download/fox.zip
...qdo preciso fazer fazer tal alteração... uso o foxbase...nunca tive problemas....
carrego o programa ... use arquivo .... modi stru ... ctrl+end ...salvo e tudo certo...
para pegar o foxbase...vá no site no Wagner...
http://www.vagucs.com.br/download/fox.zip
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle
- Marcos
- Usuário Nível 3

- Mensagens: 355
- Registrado em: 20 Set 2003 09:16
- Localização: Cáceres/Mato Grosso
Olá Dudu, obrigado pela atenção, eu também trabalho com foxbase, a propósito após não ter êxito com o DBU tentei com o Foxbase e deu certo, em contrapartida perdi as informações que haviam no campo que foi alterado de Character para Numeric, é possivel efetuar tais alterações sem perder os registros já existentes?
Abraços,
Marcos
Da Roça.
Abraços,
Marcos
Da Roça.
-
andersoncamilo
- Usuário Nível 3

- Mensagens: 103
- Registrado em: 22 Ago 2004 11:54
Marcos bom dia, quando eu tenho que fazer este tipo de alteração que você está querendo, eu faço de duas maneiras uma é criar uma rotina que copia os dados do arquivo velho para o arquivo novo, ou usando o fox base, eu crio alguns campos auxiliar no arquivo com o mesmo formato antigo e transfiro os dados antigos para estes campos, depois mudo o tipo de cacter para numérico e copio novamente para o campo já com o formato numérico usando va funcão VAL(), ou se for para campo tipo date usando a função CTOD(), e assim sucessivamente.
Um abraço e bom trabalho.
Anderson Camilo
Ji-Paraná - Rondônia
Um abraço e bom trabalho.
Anderson Camilo
Ji-Paraná - Rondônia
-
andersoncamilo
- Usuário Nível 3

- Mensagens: 103
- Registrado em: 22 Ago 2004 11:54
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
....desculpe fiz a alteração de numérico pra caractere foi blz...qdo reverti...perdi os dados...a solução do Anderson é a solução nessa sua situação...
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle
-
gransoft
- Usuário Nível 3

- Mensagens: 321
- Registrado em: 06 Jul 2004 17:48
- Localização: UBERLÂNDIA-MG
- Contato:
Alterar estrutura de *.dbf
ARAGUARI-MG, 27 de agosto de 2004.
Prezados Srs.,
Sugestão:
Todo Aplicativo deve criar os "*.dbf" vazios, cuja estrutura é definida no próprio programa. Assim sendo, basta renomear o arquivo antigo, executar a rotina para criar arquivo/índices com os novos campos e importar os dados do anterior...
Se por ventura, queremos é alterar um campo para outro...
Obviamente, se for o programador que realizará este processo, usar o FoxBase para
USE ARQEST
copy to ARQEST.ANT
zap
modi stru
append from ARQEST.ANT
replace all camponum with VAL(campostr)
é muito mais simples. DBU? Crédo!
Atenciosamente,
Janis Peters Grants.
http://www.gransoft.com.br
gransoft@zipmail.com.br
Prezados Srs.,
Sugestão:
Todo Aplicativo deve criar os "*.dbf" vazios, cuja estrutura é definida no próprio programa. Assim sendo, basta renomear o arquivo antigo, executar a rotina para criar arquivo/índices com os novos campos e importar os dados do anterior...
Código: Selecionar todos
RENAME ARQEST.DBF TO ARQEST.ANT
CriaArq()
USE ARQEST
APPEND FROM ARQEST.ANT
USE
Indexa()
CLOSE DATABASES
* ERASE ARQEST.ANT // SE TIVER CERTEZA QUE TUDO DEU CERTO ...
Código: Selecionar todos
RENAME ARQEST.DBF TO ARQEST.ANT
CriaArq()
USE ARQEST
APPEND FROM ARQEST.ANT
GOTO TOP
WHILE (.NOT. EOF())
* REPLACE CAMPONOVO WITH CAMPOANT
REPLACE CAMPONUM WITH VAL(CAMPOSTR)
SKIP
END
USE
Indexa()
CLOSE DATABASES
* ERASE ARQEST.ANT // SE TIVER CERTEZA QUE TUDO DEU CERTO ...
USE ARQEST
copy to ARQEST.ANT
zap
modi stru
append from ARQEST.ANT
replace all camponum with VAL(campostr)
é muito mais simples. DBU? Crédo!
Atenciosamente,
Janis Peters Grants.
http://www.gransoft.com.br
gransoft@zipmail.com.br
Editado pela última vez por gransoft em 30 Ago 2004 16:48, em um total de 2 vezes.
- Vander
- Usuário Nível 3

- Mensagens: 214
- Registrado em: 23 Jul 2004 01:43
- Localização: João Monlevade - MG
Alterar estrutura do DBF
Tenho uma rotina que talves possa ajudar, entre em contato que eu envio pra você.
Vander
ndsistemas@bol.com.br
ou
vlnunes@click21.com.br
Vander
ndsistemas@bol.com.br
ou
vlnunes@click21.com.br
-
Spitzer
- Usuário Nível 2

- Mensagens: 60
- Registrado em: 15 Ago 2003 04:56
- Localização: Nova Fátima - PR
Olá!
Tenho usado o DBase III para tais tarefas.
A pasta que está o DBase está no Path do autoexec.bat.
Então quando preciso, mudo qualquer proriedade do campo, excluo e incluo campos... sem problemas!
Ele mesmo já se encarrega de um backup antes de qualquer operação.
Invoco o assistente do DBase com F2 e não preciso escrever uma linha de código sequer para realizar estas alterações.
Não é nenhuma novidade nem maravilha do outro mundo, mas tem me atendido bem.
A propósito, tenho uma versão do DBase III Plus em Português.
Aí fica bem mais fácil de usar o assistente.
Quem quiser uma cópia desta versão, peça-me em private pelo e-mail ademirspitzer@yahoo.com.br que envio.
Tenho usado o DBase III para tais tarefas.
A pasta que está o DBase está no Path do autoexec.bat.
Então quando preciso, mudo qualquer proriedade do campo, excluo e incluo campos... sem problemas!
Ele mesmo já se encarrega de um backup antes de qualquer operação.
Invoco o assistente do DBase com F2 e não preciso escrever uma linha de código sequer para realizar estas alterações.
Não é nenhuma novidade nem maravilha do outro mundo, mas tem me atendido bem.
A propósito, tenho uma versão do DBase III Plus em Português.
Aí fica bem mais fácil de usar o assistente.
Quem quiser uma cópia desta versão, peça-me em private pelo e-mail ademirspitzer@yahoo.com.br que envio.
Abraços,
Ademir Spitzer
Ademir Spitzer
Olá a todos,
Também precisei fazer uma alteração em um campo mundando-o de NUMÉRICO para CARACTERE. Tentei pelo DBU, deu erro e perdi todos os registros.
Tentei pelo MYDBU e FUNCIONOU BLZ. É facílimo de usar. Ele cria uma novo DBF e copia todos os dados do antigo para o novo DBF. Depois é só renomear o arquivo. Se eu não me engano, peguei este programa no CD do Toledo.
Janio
Também precisei fazer uma alteração em um campo mundando-o de NUMÉRICO para CARACTERE. Tentei pelo DBU, deu erro e perdi todos os registros.
Tentei pelo MYDBU e FUNCIONOU BLZ. É facílimo de usar. Ele cria uma novo DBF e copia todos os dados do antigo para o novo DBF. Depois é só renomear o arquivo. Se eu não me engano, peguei este programa no CD do Toledo.
Janio
