Copiar campo de uma tabela para outra (Paradox)

Delphi

14/06/2013

Amigos preciso copiar os dados do campo de uma tabela para o campo de outra tabela, mas desejo que seja verificado
se o campo da tabela destino esteja vazio, no caso copiar os dados somente se o campo for vazio.
isto de toda atabela.

fiz o codigo assim:

begin
TbClientes.Open; (Origem)    
TbDestino.Open; (Destino)

while (not TbClientes.Eof) do
begin

TBDestino.edit;
 if TbDestino.fieldbyname('Placas').AsString= '' then
begin
TbDestinoPlacas.Value:=TbClientesPlacas.Value;
TbDestino.Post;
TbDestino.Refresh;
TbDestino.Next;
TbClientes.Next;


só faz a copia se todos os campos se for vazio?
e outra não para o processo o aplicativo fica travado.

gostaria que quando terminase desse um aviso, showmessage 'Arquivos gravados com sucessso?. e me mostrasse também
a quantidade de registros que foi gravado para que eu possa conferir.
os campos das duas tabelas sâo iguais , nome tipo e tamanho.

conto com a ajuda de vcs.
Gilvanio Gonçalves

Gilvanio Gonçalves

Curtidas 0

Respostas

Gilvanio Gonçalves

Gilvanio Gonçalves

14/06/2013

Bém depois de analizar o meu proprio codigo, vi onde estava o erro.


eu verificava se o campo esta vazio, se estava vazio gravava. mas se o campo não esta
vazio eu não estava indicando para verificar o proximo registro até que seja final da tabela(Registros).

sendo assim o codigo ficou assim:
var
   contador : integer;
   begin
   TbClientes.Open;
   TbDestino.Open;
   contador :=0;
while (not TbClientes.Eof) do
begin

  TBDestino.edit;
  if TbDestino.fieldbyname('Placas').AsString= '' then
   begin
     TbDestinoPlacas.Value:=TbClientesplacas.Value;
     TbDestino.Post;
     TbDestino.Refresh;
     TbDestino.Next;
     TbClientes.Next;
     Inc( Contador ); 
  end
  else
  TbDestino.Next;
  TbClientes.Next;

end;
 ShowMessage( IntToStr(Contador) + ' registros atualizados!' );
end;


o meu tico e teco(neuronios resolveu funcionar,postei o codigo, pois outros usuario possam precisar.
GOSTEI 0
José

José

14/06/2013

Tópico concluído.
GOSTEI 0
POSTAR