Oi Pessoal !
Eu tenho duas tabelas, uma que é Master e a outra que é o Detalhe ! E quero que no campo chamado “Total de Registo” da tabela Master apareça-me o total de registo que inseri na tabela Detalhe !
Obrigado
Jorge Malhou
Oi Pessoal !
Eu tenho duas tabelas, uma que é Master e a outra que é o Detalhe ! E quero que no campo chamado “Total de Registo” da tabela Master apareça-me o total de registo que inseri na tabela Detalhe !
Obrigado
Jorge Malhou
Jorge bom dia,
1 - Crie um campo no form mestre que vai conter essa quantidade, tipo qtd_det;
2 - No OnAfterInsert, faça o SELECT COUNT na tabela detalhe e use a macro SC_MASTER_VALUE para atualizar a variável do mestre com o resultado do SELECT COUNT.
Criar uma trigger na tabela detalhe que a cada inserção, deleção ou alteração, some ou subtraia o valor no registro mestre.
Oi Kleyber e Haroldo !
Obrigado pela rápida respostas, mas eu estou usando o sqlite, a minha pergunta e como é que eu faço no código “sintaxe” para eu inserir no afterinsert, sc_master_value ?
Desculpe a minha ignorância !
Jorge Malhou
Nesse caso a sugestão do Kleyber é valida.
No evento onAfterInsert do detalhe:
$_upd="
UPDATE INTO tb_mestre
set vl_total=( select sum(valor*quantidade) from tb_detalhe where id_mestre={id_mestre})
WHERE id={id_mestre}";
sc_exefc_sql($_upd);
sc_commit_trans();
depois faça um select no total do tb_mestre para apresenta-lo na janela do formulario mestre usando a macro SC_MASTER_VALUE
Oi Haroldo !
Na tabela detalhe já está tudo funcionando !
Na tabela mestre como é que eu faço o select no total da tabela mestre ?
Como é que fica a sintaxe da macro SC_MASTER_VALUE ?
Obrigadão pela Ajuda !
Jorge
para saber como usar a macro veja no web help:
http://www.scriptcase.com.br/docs/pt_br/v9/manual/14-macros/01-visao-geral/
No formulário detalhe, que é o formulário onde deve colocar o código detalhe pois é nele que são inseridos os registros detalhes os quais deseja a soma e apresentação dinâmica do valor total na janela do formulário mestre.
No formulário mestre não há o que fazer.
Obrigado Haroldo !
Funcionou na perfeição !
Abraço
Jorge