Mover dados de uma DBF para outra

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Mover dados de uma DBF para outra

Mensagem por kristo »

Olha eu aqui outra vez.........Obrigado a todos que estão me ajudando......que Deus abençõe todos vcs.....

Gente como eu faço para copiar uma certa quantidade de dados de uma DBF para outra.........claro que as duas tem a mesma estrutura........
Ex. tenho uma DBF com 1.000.000 de dados e quero copiar 500.000 dados para a outra dbf..........tenho um campo contendo os números de 1 até 1.000.000.....alguém poderia me dar uma luz de como eu faço para mover esses dados para a outra DBF..........e se possível as mesmas que foram copiadas fossem apagadas da DBF antiga? eu uso essa prg para mover dados entre as dbf.........mais não sei fazer ela entender que quero mover de 1 a 500.000.....
--------------------------------------------------------------------------------------

Use JURIDICO alias JURIDICO new
Use VAZIO alias VAZIO new
Sele JURIDICO
goto top


Do while .not. eof()
sele JURIDICO
if subs(JURIDICO->UF,1,2)#'SP'
sele JURIDICO
skip
loop
endif
sele VAZIO
append blank
replace nome with JURIDICO->nome
if JURIDICO->UF = "SP"
replace CGC with JURIDICO->CGC
replace NOME with JURIDICO->NOME
replace END2 with alltrim (JURIDICO->END)+' '+alltrim(JURIDICO->NUM)+' '+alltrim(JURIDICO->COMPL)
replace BAIRRO with JURIDICO->BAIRRO
replace UF with JURIDICO->UF
replace ATIV with JURIDICO->ATIV
replace CPF with JURIDICO->CPF
replace DATA with JURIDICO->DATA
replace CEP with JURIDICO->CEP
replace ATUAL with JURIDICO->ATUAL
replace CIDADE with JURIDICO->CIDADE
replace EMPG with JURIDICO->EMPG
replace FX with JURIDICO->FX
replace DIRETOR with JURIDICO->DIRETOR
repalce NUMERO with JURIDICO->NUMERO
endif

sele JURIDICO
skip

enddo

close database
MARINI
Usuário Nível 3
Usuário Nível 3
Mensagens: 288
Registrado em: 06 Jul 2004 08:06
Localização: Pindamonhangaba SP

Mensagem por MARINI »

Sds
Marini
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

Suponhamos que você tenha um arquivo chamado JURIDICO e outro chamado COPIAJUR com a mesma estrutura

USE COPIAJUR
APPEND FROM JURIDICO FOR CODIGO>=1 .AND. CODIGO<=500000
Se as estruturas não forem idênticas então só serão copiados os campos existentes nos 2 arquivos


Se você não tiver o arquivo COPIAJUR ainda e quiser criar a partir do JURIDICO então :

USE JURIDICO
COPY TO COPIAJUR FOR CODIGO>=1 .AND. CODIGO<=500000
Neste caso será criado o arquivo COPIAJUR com a faixa de registros selecionada.


Até logo.

Marcelo
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Mensagem por kristo »

Clipper escreveu:Prezado Colega

Suponhamos que você tenha um arquivo chamado JURIDICO e outro chamado COPIAJUR com a mesma estrutura

USE COPIAJUR
APPEND FROM JURIDICO FOR CODIGO>=1 .AND. CODIGO<=500000
Se as estruturas não forem idênticas então só serão copiados os campos existentes nos 2 arquivos


Se você não tiver o arquivo COPIAJUR ainda e quiser criar a partir do JURIDICO então :

USE JURIDICO
COPY TO COPIAJUR FOR CODIGO>=1 .AND. CODIGO<=500000
Neste caso será criado o arquivo COPIAJUR com a faixa de registros selecionada.


Até logo.

Marcelo

Desculpe minha ignorância.........não conheço nada de clipper........onde devo colocar essa linha ai ?
É duro querer fazer e não saber............
Obrigado
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Pelo que entendi no "código" postado pelo colega Kristo, o que ele quer na verdade é separar o que for de SP do restante, sendo assim, eu faria da seguinte forma, partindo do princío de que o arquivo que receberá os registros diferentes de SP já exista e esteja vazio e que vou chamar agora de JUR_NEW:

Código: Selecionar todos

use JUR_NEW
appe from JURIDICO for UF # 'SP'  && não vejo necessidade do subst()
clos data
return
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Mensagem por kristo »

Augusto escreveu:Pelo que entendi no "código" postado pelo colega Kristo, o que ele quer na verdade é separar o que for de SP do restante, sendo assim, eu faria da seguinte forma, partindo do princío de que o arquivo que receberá os registros diferentes de SP já exista e esteja vazio e que vou chamar agora de JUR_NEW:

Código: Selecionar todos

use JUR_NEW
appe from JURIDICO for UF # 'SP'  && não vejo necessidade do subst()
clos data
return

Desculpe meu amigo............mais o que quero mesmo é o que respoderam acima........"mais eu não sei montar essa PRG para copiar uma certa quantidade de dados da DBF", eu optei por copiar pelos numeros, ou seja........copiar para a DBF que está vazia os dados de 1 a 500000, se alguém puder montar essa PRG pra mim eu agradeço.....pois é nesse ponto de montar que eu não sei.....

Obs. eu não quero nada mastigado......tenha certeza se eu soubece fazer eu faria.........mais infelizmente eu não sei..............obrigado a todos

Kristo

nome da DBF com o dados é " JURIDICO" e a DBF que está vazia se chama " VAZIA "
Responder