Fórum Gravar dados de uma tabela em outra #207239
17/01/2004
0
Seguinte: Eu tenho duas tabela paradox e uso o delphi 6
Na table2 eu tenho os campos data e valor
Na table1 eu tenho os campos data e valor
O que eu quero: Quando informar a data e o valor dos campos da table2 grava tambem a mesma coisa na table1
Detalhes: Cada tabela fica em form´s diferentes e eu queria usar um botão salvar para o procedimento
Tem como?
Obrigado
wagnernormando@ig.com.br
Wagner
Curtir tópico
+ 0Posts
17/01/2004
Aroldo Zanela
Utilize o componente TBatchMove ou o método BatchMove disponível no TQuery e TTable.
Gostei + 0
17/01/2004
Wagner
Gostei + 0
17/01/2004
Aroldo Zanela
Não creio ter todas as informações necessárias para lhe enviar um exemplo fechado, mas aqui vai:
SQL
SELECT * FROM tabela WHERE coluna_data = :data
DELPHI
procedure TForm1.Button1Click(Sender: TObject); begin Query1.Close; Query1.ParamByName(´DATA´).AsDate := Date; Query1.Open; // Acho que nem é necessário essa linha Table2.BatchMove(Query1, batCopy); // copia o conteúdo da query1 end;
Gostei + 0
17/01/2004
Wagner
Gostei + 0
17/01/2004
Aroldo Zanela
No exemplo que coloquei eu utilizei a data apenas para filtrar o ´movimento´, sendo que todos os campos da tabela (query1) serão movidos para a Table2 (quanto existirem na origem).
Gostei + 0
17/01/2004
Wagner
Gostei + 0
17/01/2004
Aroldo Zanela
Não entendi, coloca a descrição de ambas as tabelas e quais campos devem ser gravados de uma na outra.
Gostei + 0
17/01/2004
Wagner
tenho table1 com campo codigo, [color=blue:1eb933aa03]apto[/color:1eb933aa03], [color=red:1eb933aa03]data, valor[/color:1eb933aa03] e proprietario.
tenho table2 com campo codigo, [color=blue:1eb933aa03]apto[/color:1eb933aa03], ref, [color=red:1eb933aa03]data, valor[/color:1eb933aa03], proprietario.
A tabela que eu uso regularmente e a table2 alimentando a table1 para consultas.
Eu imaginei alguma coisa desse tipo nem sei se é possivel ou se da trabalho:
Se apto da table2 = apto da table1 então gravar data e valor
Gostei + 0
17/01/2004
Aroldo Zanela
Possível é, mas desnecessário. Basta gravar a table2 (codigo, apto, ref, data, valor, proprietario) onde você tem a movimentação e fazer uma query para agrupar e obter o resultado que você armazenava na table1.
select codigo, apto, data, proprietario, sum(valor) as total from nome_tabela group by codigo, apto, data, proprietario order by codigo, apto, data, proprietario
Substitua nome_tabela pelo nome da table1. usei sum(valor) para totalizar o valor para registros com mesmo codigo, apto, data, proprietario.
Gostei + 0
18/01/2004
Marco Salles
P:S O Fato De as Duas Tabelas Estarem Em Formulários Diferentes Em Pouco Dificulta. Basta Acrescentar Corretamente a Uses Dos Dois Componentes Table. :idea: Acrescento Ainda Que Se Voce Conhece o [color=red:662f8b0b44]Data Modulo[/color:662f8b0b44] :?: :arrow: Onde Voce Pode Ter Todas as Tabelas Do Seu Programa Em Um Só ´Lugar´. VALE A PENA :P
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)