Jogar Soma em um componente LABEL?

20/09/2004

Boa tarde para todos, estou precisando fazer um SUM em um campo de uma tabela e gostaria de que o valor fosse retornado para um componente LABEL que tenho no meu form.

Como posso fazer isso acontecer?

Sei que o sql que tenho de fazer é:

´ select valorpago, sum(valorpago) from remessabanco ´

Mas até ai eu não estou conseguindo pegar o valor total do somatório e nem mesmo levar esse valor para o campo que estou querendo ....

Agradeço pela ajuda de todos ....


Rscrj

Respostas

20/09/2004

Paulo_amorim

Olá

Seria bom renomear o campo para facilitar

select valorpago, sum(valorpago) soma from remessabanco


Para pegar isso, faça

DataSet.FieldByName(´soma´).AsString


Espero que ajude
Até+


Responder Citar

20/09/2004

Vinicius2k

Colega,

Não faz muito sentido trazer o próprio campo e sua soma... pra dizer a verdade, para mim, a instrução está errada, pq vc teria que agrupar pelo primeiro campo que seria o próprio VALORPAGO, o que não justifica somá-lo...

No meu entender instruções corretas seriam :
select sum(VALORPAGO) as SOMA from REMESSABANCO
{ ou :}
select sum(VALORPAGO) SOMA from REMESSABANCO
{ ou, simplemente : }
select sum(VALORPAGO) from REMESSABANCO

No primeiro e segundo código vc atribuiu ao resultado um álias ´SOMA´ que pode ser acessado com :
SuaQuery.FieldByName(´SOMA´).AsFloat;

No terceiro código vc não atribuiu nenhum álias, então o TField terá o nome da função utilizada, no caso, ´SUM´ :
SuaQuery.FieldByName(´SUM´).AsFloat;

Estou usando [b:43c686574a]AsFloat[/b:43c686574a] supondo que VALORPAGO será do tipo NUMERIC ou DOUBLE, se fosse INTEGER vc usaria [b:43c686574a]AsInteger[/b:43c686574a].

Para exibir no seu label vc pode usar :
Label1.Caption:= SuaQuery.FieldByName(´SOMA´).AsString;


T+


Responder Citar

20/09/2004

Paulo

Poderia formatar o Caption do label assim para moeda, caso valor total fosse moeda:
Label1.Caption:= FloatToStrF(SuaQuery.FieldByName(´SOMA´).AsFloat,ffCurrency,12,2);


Responder Citar

21/09/2004

Rscrj

Senhores agradeço pela ajuda disponibilizada e vou tentar todas as formas indicadas.


Obrigado ...
Rafael Cabral


Responder Citar