Gravar dados de uma tabela em outra
Olá pessoal,
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
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
Curtidas 0
Respostas
Aroldo Zanela
17/01/2004
Colega,
Utilize o componente TBatchMove ou o método BatchMove disponível no TQuery e TTable.
Utilize o componente TBatchMove ou o método BatchMove disponível no TQuery e TTable.
GOSTEI 0
Wagner
17/01/2004
Obrigado pela dica, mais a questão e que não sei como fazer, pode me ajudar?
GOSTEI 0
Aroldo Zanela
17/01/2004
Colega,
Não creio ter todas as informações necessárias para lhe enviar um exemplo fechado, mas aqui vai:
SQL
DELPHI
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
Wagner
17/01/2004
Mais uma vez obrigado pela atenção, mais como devo fazer como o campo valor? tem um exemplo usando table?
GOSTEI 0
Aroldo Zanela
17/01/2004
Colega,
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).
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
Wagner
17/01/2004
Acho que ficou faltando eu explicar um detalhe eu tenho outros campos na duas tabelas, mais so quero gravar data e valor. tem como?
GOSTEI 0
Aroldo Zanela
17/01/2004
Colega,
Não entendi, coloca a descrição de ambas as tabelas e quais campos devem ser gravados de uma na outra.
Não entendi, coloca a descrição de ambas as tabelas e quais campos devem ser gravados de uma na outra.
GOSTEI 0
Wagner
17/01/2004
Desculpe-me analizando bem ainda falta mais detalhes, realmente lhe peço desculpas por essa destração vou tenta ser mais claro
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
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
Aroldo Zanela
17/01/2004
Colega,
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.
Substitua nome_tabela pelo nome da table1. usei sum(valor) para totalizar o valor para registros com mesmo codigo, apto, data, proprietario.
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
Marco Salles
17/01/2004
Só Uma Pergunta Wagner.Porque Voce Tem Duas Tabelas Quase Identicas :?: Pelo que Pude Observar, So Há Uma Diferença No Campo [color=red:662f8b0b44]Ref[/color:662f8b0b44] De Uma Que a Outra Não Tem :!: Voce Talvez Responda , Que Os Registros Inseridos Em Uma Tabela Estejam ´Espalhados´ e Já Na Outra Tabela Os Registros Estão Ordenados Pela Condição : [color=red:662f8b0b44]Se apto da table2 = apto da table1 então gravar data e valor[/color:662f8b0b44]. Isto São Apenas Suposiçõe....Não Entendi Direito o Que Tu Queres De Verdade.
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
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