Somar campo em SQL

Delphi

01/12/2004

Ola pessoal

Tenho a seguinte situacao. Tenho uma grid na minha aplicacao, e um label.
Esta grid me informa o codigo do clientes, a descricao do servico prestado e o valor do servico. Preciso criar um query para que ele traga todas estas informacoes e jogue no label a Somatoria dos valoresl.

A tabela é RECEITAS e os campos sao CLIENTE, DESCRICAO e VALOR.

Obrigado


Sakamuta

Sakamuta

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

01/12/2004

QUERY.SQL.ADD(SELECT SUM(VALOR) FROM RECEITAS WHERE CODIGOCLIENTE = ´ + INTTOSTR(CODIGODOCLIENTE));
QUERY.OPEN;
LABEL1.CAPTION := QUERY.FIELDS[0].ASSTRING;



GOSTEI 0
Sakamuta

Sakamuta

01/12/2004

ok ate ai tudo bem..

O meu problema eh que eu nao quero filtrar por cliente, na verdade nao preciso filtrar por nada.

O que eu preciso eh que na grid tenho o CODIGO DO CLIENTE, A DESCRICAO DO SERVICO, O VALOR DE CADA SERVICO e no LABEL tenha a SOMATORIA DOS VALORES>


Obridado..


GOSTEI 0
Rômulo Barros

Rômulo Barros

01/12/2004

Seu Grid, provavelmente, deverá estar ligado a um DataSet, Ok?
Então, dê um duplo click no seu DataSet e, com o botão direito do mouse, crie um [b:bf2df0eb82]campo Calculado[/b:bf2df0eb82] ´Add New Field´ - Name = total, type = float e Field Type = calculated.

Pronto, Agora no evento OnCalcFields do seu DataSet, faça:

DataSet.FieldByName(´total´).asfloat := DataSet.FieldByName(´total´).asfloat + DataSet.FieldByName(´valor´).asfloat;



Agora, no evento OnShow do seu formulário, faça:

Label1.Caption := Grid.DataSource.DataSet.FieldByName(´Total´).AsString;



GOSTEI 0
Paulo Cesar

Paulo Cesar

01/12/2004

naum sei se entendi direito mas tenta isso...

SELECT CLIENTE, DESCRICAO, (SELECT SUM(VALOR)
FROM RECEITAS) AS TOTAL FROM RECEITAS


GOSTEI 0
POSTAR