Somar campo de um DBGrid...

Delphi

21/01/2005

Primeiramente bom dia pessoal. Meu problema eh o seguinte

1- tenho um DbGrid q tem uma coluna chamada valor
2- gostaria de somar essa coluna e por em um Edit

obs: n quero somar a Tabela toda n soh quero somar os campos q estao filtrados no DBGrid.


Hviana

Hviana

Curtidas 0

Respostas

Marcio.theis

Marcio.theis

21/01/2005

O que vc pode fazer é criar uma procedure que varre toda a sua qry ou table carregando para uma variável o valor, depois vc atribui ao edit;
(uma idéia) exite n outras.


GOSTEI 0
Maurício Santos

Maurício Santos

21/01/2005

Olá!!!

Esta rotina eu usei em BD Paradox.

var
Total: Currency;
begin
Total := 0;
DataModule.NomeTabela.DisableControls;
try
while not DataModule.NomeTabela.EOF do begin
Total := Total + DataModule.NomeTabela.FieldByName(´NomeDoCampoASomar´).AsCurrency;
DataModule.NomeTabela.Next;
end;
finally
DataModule.NomeTabela.EnableControls;
Edit1.Text := FormatFloat(´#,0.00´, Total);
end;

Se vc precisar somar muitos campos talvez seja o caso de utilizar um componente ADOQuery e somar através de SQL, desta forma:

Código:
ADOQuery.Active := False;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(SELECT SUM(CAMPO A SER SOMADO) FROM TABELA WHERE [CRITÉRIOS]);
ADOQyery.Open;


Daí vc acessa o resultado através da seguinte linha:

Código:
ADOQuery.FieldByName(´NOME DO CAMPO´).asFloat;


Espero ter ajudado.



Maurício


GOSTEI 0
POSTAR