Página 1 de 1

Mover dados de uma DBF para outra

Enviado: 06 Out 2004 15:12
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

Enviado: 06 Out 2004 15:57
por MARINI

Enviado: 06 Out 2004 16:56
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

Enviado: 07 Out 2004 09:38
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

Enviado: 07 Out 2004 20:55
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

Enviado: 08 Out 2004 08:57
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 "