GARANTIR DESCONTO

Fórum Dúvida sobre campos calculados #58915

26/09/2007

0

Tenho uma dúvida envolvendo campos calculados. Quando o valor desse campo depende apenas de campos na mesma tabela do campo e/ou funções (internas ou UDFs) eu crio um campo calculado na própria tabela/consulta.

O problema costuma ocorrer quando o campo em questão depende de valores provenientes de outras tabelas. Um caso típico é em relações mestre-detalhe onde um campo na tabela mestre deve mostrar a soma total de um campo na tabela detalhe. Eu sempre resolvi isso fazendo um campo calculado no próprio Delphi, mas possui o incoveniente de não se atualizar automaticamente a medida que você trabalha nos registros detalhe (no caso de um formulário mestre-detalhe), já que esses campos só se atualizam ao mexer no dataset onde está o campo.

Por isso, gostaria de saber quais as soluções alternativas para esses casos: já pensei em, por exemplo, em criar o campo fisicamente na tabela e usar triggers na tabela detalhe para manter o campo atualizado.
Existe alguma maneira de se criar um campo calculado numa query/view que permita, por exemplo, obter o valor total de um campo em outra tabela (no caso teria todos os campos da tabela mestre e mais um calculado com a soma da tabela detalhe), de preferência sem precisar GROUP BY e similares?

Quais dessas soluções seria a mais adequada do ponto de vista de confiabilidade e performance?

P. S. Uso BDS 2006 e Firebird 2.0


Gandalf.nho

Gandalf.nho

Responder

Posts

01/10/2007

Gandalf.nho

Ninguém?


Responder

Gostei + 0

04/10/2007

Armando.boza

eu acho que vc deve montar uma view.

crie uma procedure que faça todas as somas que vc necessita e crie uma view a partir da procedure.

acho que da certo


Responder

Gostei + 0

04/10/2007

Gandalf.nho

O problema é que essa consulta seria usada como origem de um formulário de manutenção e não sei se uma view baseada numa SP seria atualizável (num relatório, tudo bem).


Responder

Gostei + 0

22/10/2007

Gandalf.nho

Ninguém mais tem sugestões? Como vocês costumam resolver esse problema em que o campo totalizador fica no tabela master mas os valores a serem usados no cálculo na tabela detail, e de tal forma que esse campo totalizador vá se atualizando de forma visual no formulário enquanto se trabalha na tabela detail?


Responder

Gostei + 0

28/10/2007

Sremulador

você já tentou acionar o on charger do mestre ???


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar