Olá amigos!
Volta e meia me aparece a nescessidade de copiar um registro de um arquivo.dbf para outro
arq*.dbf, onde o registro vai completo, sem alterações. Será que existe um modo direto de
fazer isso? Sem precisar lançar todos os campos depois do append blank ?
Ex:
use arq1.dbf new
use arq2.dbf new
Select arq1
While cond1 = 1
arq2->campo1:= arq1->campo1
arq2->campo2:= arq1->campo2
ate´
arq2->campo99:= arq1->campo99
EndDo
Gostaria de sintetisar as 99 linhas em uma.
Tem como ?
Um abraço.
copiar um registro inteiro direto
Moderador: Moderadores
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Re: copiar um registro inteiro direto
Close All
clear
Sele 1
Use Produto Alias Prod1
? 'Copiando Extrutura'
Copy Struct to Produto2.dbf
Sele 2
Use Produto2 alias Prod2
Sele Prod1
nCampos := DbStruct()
Go Top
Sele Prod2
Append Blank
For i:= 1 to Len(nCampos)
cCampo1:= nCampos[i,1]
? cCampo1
Repla Prod2->&(cCampo1) With Prod1->&(cCampo1)
Next
Sele Prod2
Dbedit(0,0,24,79)
Close all
Return Nil
Frazato
clear
Sele 1
Use Produto Alias Prod1
? 'Copiando Extrutura'
Copy Struct to Produto2.dbf
Sele 2
Use Produto2 alias Prod2
Sele Prod1
nCampos := DbStruct()
Go Top
Sele Prod2
Append Blank
For i:= 1 to Len(nCampos)
cCampo1:= nCampos[i,1]
? cCampo1
Repla Prod2->&(cCampo1) With Prod1->&(cCampo1)
Next
Sele Prod2
Dbedit(0,0,24,79)
Close all
Return Nil
Frazato
Re: copiar um registro inteiro direto
Se é uma cópia fiel, mais facil será se for direto:
Código: Selecionar todos
for i := 1 to Origem->(FCount())
Destino->(FieldPut(i,Origem->(FieldGet(i))))
next[]'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!
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!
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
