Fórum Somar campo de um DBGrid... #266322
21/01/2005
0
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.
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
Curtir tópico
+ 0
Responder
Posts
21/01/2005
Marcio.theis
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.
(uma idéia) exite n outras.
Responder
Gostei + 0
31/01/2005
Maurício Santos
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
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)