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