Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Copiar e Atualizar dados de uma tabela para outra


MagoDanger

Pergunta

Olá amigos, boa tarde!

Tenho uma tabela (tbl_vendas) que vou acrescentando os produtos da venda atual.

Tenho uma segunda tabela (tbl_cont_vendas) que ao finalizar a venda, quero transferir os dados pra ela:

CAMPOS

produto, valor, quantidade, codprod

Eu fiz o seguinte:

dm.q_cont_vendas.close;dm.q_cont_vendas.SQL.clear;dm.q_cont_vendas.SQL.add('SELECT * FROM tbl_vendas');dm.q_cont_vendas.prepared;dm.q_cont_vendas.open;
Ele copia os dados atual da tbl_vendas para a tbl_cont_vendas PORÉM não atualiza mais dados, ou seja, se eu fizer outra venda e for transferir pra essa tabela, ela não acrescenta os produtos, ela apaga o que estava lá e inclui somente os produtos da ultima venda...

como faço pra copiar os dados de uma tabela para outra, MAS sempre acrescentando dados e nunca apagando o anterior?

ANTERIORMENTE, tentei fazer o seguinte: (Mas não funcionou, nem apresentou erro...)

varc:integer;beginwhile not dm.q_vendas.Eof dobegindm.q_cont_vendas.Append;for c :=0 to dm.q_vendas.FieldCount-1 dodm.q_cont_vendas.Fields[c].value := dm.q_vendas.Fields[c].value;dm.q_cont_vendas.Post;dm.q_vendas.next;end; end;
Agradeço desde já a atenção. Abraços! Editado por Jhonas
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Amigos, fiz da seguinte maneira agora e deu certo!

Segue o código!

var
  i: integer;
  NomeCampo: String;
begin 
  dm.q_vendas.First;
  While Not dm.q_vendas.Eof Do
     Begin
        dm.q_cont_vendas.Append;
        For i := 0 To dm.q_vendas.FieldCount - 1 Do
            Begin
                NomeCampo := dm.q_vendas.Fields[i].FieldName;
                dm.q_cont_vendas.FieldbyName(NomeCampo).Value := dm.q_vendas.FieldbyName(NomeCampo).Value;
            end;
dm.q_cont_vendas.Post;
dm.q_vendas.Next;
end; end;

q_vendas - é a tabela de ORIGEM

q_cont_vendas - é a tabela de DESTINO

Abraços!

Editado por MagoDanger
Link para o comentário
Compartilhar em outros sites

  • 0

No delphi 7 tem a paleta do Interbase que voce pode usar com o Firebird

use esse conjunto de componentes para acessar o banco de dados

Na paleta Interbase:

TIBDatabase

TIBTransaction

================================================

use esse conjunto de componentes para acessar as tabelas

Na paleta Interbase:

TIBQuery

Na Paleta DataAccess:

TDataSetProvider

TClientDataSet

TDataSource

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...