Como somar campos de uma DBGrig ?

15/06/2008

1

olá.

Gostaria de saber como eu faço para somar todos os campos de uma coluna do meu DBGrig sempre que ele for atualizado (insert, delet, update)!?
Ex.:
Coluna 2 tem estes valores em 5 linhas:
R$ 2,00
R$ 15,00
R$ 7,50
R$ 50,00
R$ 1,25

O objetivo disso é eu jogar isso no Caption de uma Label.
que no caso iria ficar: R$ 75,75

Agradeço desde já.

.lg.


Responder

Posts

15/06/2008

Paullsoftware

Se estiver usando ClientDataSet crie um campo Agregado que resolve o seu problema, senão post que componentes está usando, banco e componentes de acesso para melhor podemos te ajudar! :wink:


Responder

16/06/2008

.lg.

Opa,

Aqui está:
Banco de Dados: Paradox 7
Componentes: DBE, Data Access, Data Controls

Observação: Estou usando um DataModule.

PS.: Se bem que o forum podia liberar upload interno de arquivos zipados.


Responder

19/06/2008

.lg.

paullsoftware, nada!?
ninguem sabe!?


Responder

20/06/2008

Joaoshi

Colega, uma solução com o BDE se não tiver muitos dados é no [b:db1d3c1c51]After Post[/b:db1d3c1c51] e [b:db1d3c1c51]After Delete [/b:db1d3c1c51]do [b:db1d3c1c51]DataSet[/b:db1d3c1c51] você chamar uma função que execute a soma.

Espero ter ajudado.


Responder

20/06/2008

.lg.

Colega, uma solução com o BDE se não tiver muitos dados é no [b:3a4ac7abe1]After Post[/b:3a4ac7abe1] e [b:3a4ac7abe1]After Delete [/b:3a4ac7abe1]do [b:3a4ac7abe1]DataSet[/b:3a4ac7abe1] você chamar uma função que execute a soma. Espero ter ajudado.

Agradeço.

Vou ver em casa o que eu vou conseguir... e qualquer coisa eu venho a tirar mais duvidas.
So por garantia... A função que você fala é do Banco de Dados ou será do delphi mesmo!?

ps. Não sei se há uma função que some isso no delphi, todavia vc ja me mostrou aonde que ele irá atualizar toda vez que alguma coisa for feita na tabela. Se o delphi não tiver essa função... minha duvida ainda será como produzir uma função que some os campos da coluna.

Todavia, Obrigado pela informação.

.lg.


Responder

26/06/2008

Edsant

caro amigo, se eu entendi a sua pergunta. vc quer um procedure que some os dados de uma coluna de um dbgrid...bom eu faço assim..

crio um botão calcular...

procedure TfFichas.btnCalcularClick(Sender: TObject);
Var
Saldo: Currency;
begin
Saldo := 0;
with Dbgrid5.DataSource.DataSet do begin
First;
if dm.EDITPAGAMENTO.RecordCount <> 0 then
begin
while not EOF do begin
Saldo := Saldo + DbGrid5.Columns[4].Field.Value; // Caso a Coluna 4 for a de Totais
Next;
dm.EDFICHA.Edit;
dm.EDFICHACUSTOPROJETO.Value := Saldo;
dm.EDFICHA.Post;
end;
end else
dm.EDFICHA.Edit;
dm.EDFICHACUSTOPROJETO.Value := Saldo;
end;

end;

Você pode chamar essa procedure nos eventos....
espero ter ajudado...

falous..

carlos.


Responder

27/06/2008

.lg.

edsant,

Obrigado. Era exatamente o que eu precisava.
Vlw.


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira