Fórum Como Somar um campo calculado? #352898
01/02/2008
0
Olá Pessoal,
Tenho um ClientDataSet com os seguintes campos
ValorUnitario
Quantidade
E um campo calculado que chama clcValorTotal que é apenas a quantidade * o ValorUnitario
Agora como a tabela é de pedidos eu quero um campo para somar todos os campos calculados clcValorTotal
Obrigado ;)
Tenho um ClientDataSet com os seguintes campos
ValorUnitario
Quantidade
E um campo calculado que chama clcValorTotal que é apenas a quantidade * o ValorUnitario
Agora como a tabela é de pedidos eu quero um campo para somar todos os campos calculados clcValorTotal
Obrigado ;)
Yallebr
Curtir tópico
+ 0
Responder
Posts
03/02/2008
Marco Salles
primeiro )
Troque seu campo calculado por Internacall ...
Segundo)
[b:b556b852c9]Crie um Campo Agregatte no Cds...[/b:b556b852c9]
[b:b556b852c9]No campo Agregado USe na Propriedade [/b:b556b852c9]
[b:b556b852c9]No ClientDataSet Propriedade AgregateActive := True[/b:b556b852c9]
[b:b556b852c9]Mas Atenção ... Campos Agregates retornam Strings [/b:b556b852c9]
Troque seu campo calculado por Internacall ...
procedure TForm1.cdsCalcFields(DataSet: TDataSet);
begin
if cds.State = dsInternalCalc then
cds.FieldByName(´clcValorTotal´).AsCurrency:=
cds.fieldbyname(´VallorUnitario´).AsCurrency*cds.fieldbyname(´Quantidade´).AsInteger;
end;
Segundo)
[b:b556b852c9]Crie um Campo Agregatte no Cds...[/b:b556b852c9]
Duplo Click No Editor De Tfileds
New Filed
De um Nome ... Exemplo ( Somar)
e escolha em Fileds Type a Opção -->> Aggregate
[b:b556b852c9]No campo Agregado USe na Propriedade [/b:b556b852c9]
Expression : Sum(clcValorTotal)
Active:=True
[b:b556b852c9]No ClientDataSet Propriedade AgregateActive := True[/b:b556b852c9]
[b:b556b852c9]Mas Atenção ... Campos Agregates retornam Strings [/b:b556b852c9]
Exemplo
cds.FieldByName(´Soma´).asstring --->> Certo
cds.FieldByName(´Soma´).Currency --->>Errado..
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)