Jump to content

Soma automática no dbgrid


daniel_silva

Recommended Posts

Tens várias formas de fazer isso...
Uma é ires tomando conta dos valores inseridos, e somar directo no programa.

Outra por exemplo é na tua query teres um campo de soma, e ao adicionares novos valores o campo vai sendo actualizado, e tu mostras o valor desse campo.

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

É complicado dar mais detalhes sem saber ao certo o teu cenário.
Mas por exemplo, tens uma query para a DBGrid.
Queres saber a soma dos valores de uma determinada coluna.

Crias uma segunda query, algo tipo isto:
 

SELECT Sum(Price) AS Total FROM Orcamentos WHERE Doc = 1234

E depois metes um TDBEdit, por exemplo, com um segundo TDataSource ligado a esta segunda query, e usas o campo Total para o preencher.

 

Depois, no OnDataChange do datasource da query principal (da DBGrid), fazes o refresh da segunda query:

procedure TForm1.QueryOrcamentosDataChange(Sender: TObject);
begin
  QueryTotal.Refresh;
end;

 

Desta forma, quando a grid for editada, a query total será processada novamente, actualizando o valor do total.

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

Vou tentar explicar o meu cenário, tenho uma tela de orçamentos... E imagina insiro um artigo que aparece automaticamente o preço num dbedit, e é sempre assim, insiro outro artigo com o preço... É assim o ciclo. 

O que queria fazer era, insiro o 1º artigo de 60€ aparece automático no dbedit ao inserir o 2º artigo de 100€ queria que aparece no dbedit (valor total) a soma desses dois artigos, ou seja 120€ e sempre assim. 

Vou experimentar da maneira como disseste, e já digo alguma coisa 😄  

Obrigado 🙂

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.