Filipe, a dica do Otavio está certa.
O que você esta fazendo:

  Loop varrendo registros da tabela origem
    Loop varrendo campos da tabela origem
      Insere registro na tabela destino
      Copia campo da tabela origem para tabela destino
      Posta registro na tabela destino

Desse jeito você está inserindo um registro na tabela destino para 
cada campo de cada registro da tabela origem.
Se você fizer como o Otavio diz:
  
  Loop varrendo registros da tabela origem
    Insere registro na tabela destino
    Loop varrendo campos da tabela origem
      Copia campo da tabela origem para tabela destino
    Posta registro na tabela destino

Assim tem que dar certo, exatamente o que você quer.

--- Em [EMAIL PROTECTED], Filipe Geyer <[EMAIL PROTECTED]> 
escreveu
> A tabela de Origem é Varrida normalmente sim...
> Tanto q todos os registros se apresentam na tabela destino...
> Acontece q Ficam de um jeito esquisito, pq, qdo muda o campo, muda 
tb a linha. 
>  
>  Por exemplo está acontecendo:
> muda campo;
> muda linha;
> muda campo;
> muda linha;
> muda campo;
> muda linha;
> 
> 
>  
>  e o q deveria acontecer:
>  
> Muda campo;
> Muda campo; 
> Muda campo; 
> Muda campo; 
> Muda Linha;
> Muda campo;
>  Muda campo;
>  Muda campo;
>  Muda campo;
>  Muda Linha... 
>  
> Entendeu???
> 
> Otavio Gasparovic do Nascimento <[EMAIL PROTECTED]> wrote:
> Porque vc não faz o seguinte, se é que eu entendi seu problema.
> 
> um loop varrendo a tabela de origem
> 
> tabeladestino.Insert;
> 
>    for num:=1 to n1 do
>    begin
>   tabeladestino.Fields[num] := tabelaorigem.Fields[num];
> 
>    end;
>   tabeladestino.Post;
>   tabelaorigem.next
> 
> 
> Otavio
> 
> 
> 
> 
>   -----Mensagem original-----
>   De: Filipe Geyer [mailto:[EMAIL PROTECTED]
>   Enviada em: quarta-feira, 8 de setembro de 2004 12:07
>   Para: [EMAIL PROTECTED]
>   Assunto: [delphi-br] Post sem pular linha
> 
> 
> 
>   Seguinte, montei a procedure abaixo para copiar os registros de 
uma tabela
> bdf para outra gdb (ambas com campos iguais).
> 
> 
> 
>   procedure TForm1.BitBtn1Click(Sender: TObject);
> 
>   var
>     Num: SmallInt;
>     n1,n2,i: integer;
> 
> 
>   begin
>     dbgrid1.Refresh;
>     dbgrid1.Update;
>     n1 := table1.FieldCount;
>     n2 := table1.RecordCount;
>     i := 0;
>     num := 0;
>     repeat
>       repeat
>         dbgrid1.Refresh;
>         ibtable1.Insert;
>         ibtable1.Fields[num] := table1.Fields[num];
>         ibtable1.Post;
>         ibtable1.prior;
>         num := num +1;
>       until num = n1 -1;
>     i := i + 1;
>     num := 0;
>     table1.Next;
>     until i = n2;
> 
>     Application.MessageBox(PChar('Transação Concluída!'), PChar
('Aviso...'),
> mb_ok);
> 
>   O Problema é que A Tabela destino fica assim:
> 
>   Cod____|Nome_|Numero__|etc______|etc______
> 
>   001____|______|________|_________|_____
> 
>   _______|Filipe__|________|_________|_____
> 
>   _______|______|003_____|_________|_____
> 
>   _______|______|________|ghfg_____|_____
> 
>   _______|______|________|_________|sdgs_
> 
> 
> 
>   To a algumas tardes tentando, pedindo ajuda, mas tah impossivel!!!
> 
>   Será q alguem mais experiente poderia me ajudar???
> 
> 
> 
>   Obrigado.
> 
> 
>   ---------------------------------
>   Yahoo! Acesso Grátis - navegue de graça com conexão de qualidade!
> 
>   [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
>   --
>   <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> 
>   Para ver as mensagens antigas, acesse:
>   http://br.groups.yahoo.com/group/delphi-br/messages
> 
>   Para falar com o moderador, envie um e-mail para:
>   [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> 
> 
> 
>         Yahoo! Grupos, um serviço oferecido por:
> 
> 
> 
> --------------------------------------------------------------------
--------
> --
>   Links do Yahoo! Grupos
> 
>     a.. Para visitar o site do seu grupo na web, acesse:
>     http://br.groups.yahoo.com/group/delphi-br/
> 
>     b.. Para sair deste grupo, envie um e-mail para:
>     [EMAIL PROTECTED]
> 
>     c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos 
do
> Serviço do Yahoo!.
> 
> 
> 
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.754 / Virus Database: 504 - Release Date: 06/09/2004
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> 
> Para ver as mensagens antigas, acesse:
> http://br.groups.yahoo.com/group/delphi-br/messages
> 
> Para falar com o moderador, envie um e-mail para:
> [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> 
> 
> 
> Yahoo! Grupos, um serviço oferecido por: 
> 
> ---------------------------------
> Links do Yahoo! Grupos
> 
>    Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/delphi-br/
>   
>    Para sair deste grupo, envie um e-mail para:
> [EMAIL PROTECTED]
>   
>    O uso que você faz do Yahoo! Grupos está sujeito aos Termos do 
Serviço do Yahoo!. 
> 
> 
>               
> ---------------------------------
> Yahoo! Acesso Grátis - navegue de graça com conexão de qualidade!
> 
> [As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a