Como somar campos de uma DBGrig ?
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.
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.
.lg.
Curtidas 0
Respostas
Paullsoftware
15/06/2008
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:
GOSTEI 0
.lg.
15/06/2008
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.
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.
GOSTEI 0
.lg.
15/06/2008
paullsoftware, nada!?
ninguem sabe!?
ninguem sabe!?
GOSTEI 0
Joaoshi
15/06/2008
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.
Espero ter ajudado.
GOSTEI 0
.lg.
15/06/2008
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.
GOSTEI 0
Edsant
15/06/2008
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.
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.
GOSTEI 0
.lg.
15/06/2008
edsant,
Obrigado. Era exatamente o que eu precisava.
Vlw.
Obrigado. Era exatamente o que eu precisava.
Vlw.
GOSTEI 0