Fórum Problemas com o Campo Aggregates no CDS #333661
24/11/2006
0
No CDS, marquei como TRUE o AggregatesActive.
Clique duas vezes nele, e fui em New Field, e pus o nome: SomaVlrTotal, e marquei o Aggregate.
Fui no campo criado.
Active := True;
Expression := sum(valor_total)
Visible := True;
Pois bem, ao incluir um novo registro aparece o erro:
[b:63d587f89d]Cannot access field ´SomaVlrTotal´ as type float.[/b:63d587f89d]
Meu campo valor_total, é Decimal(15,2), ou seja, está como BCDField.
O que estou fazendo de errado?
[]s
Titanius
Curtir tópico
+ 0Posts
24/11/2006
Brunolspp
eu sugiro trabalhar com double precision ao inves de decimal..
Abração
http://cc.borland.com/Author.aspx?ID=795118
Gostei + 0
24/11/2006
Titanius
no OnCalc:
cdsItensCalcValorDesconto.AsCurrency := (cdsItensPERC_DESC.AsCurrency / 100) * (cdsItensQNT.AsCurrency * cdsItensPRECO_UNIT.AsCurrency); cdsItensCalcValorAcrescimo.AsCurrency := (cdsItensPERC_ACREC.AsCurrency / 100) * (cdsItensQNT.AsCurrency * cdsItensPRECO_UNIT.AsCurrency); cdsItensCalcVlrTotal.AsCurrency := (cdsItensQNT.AsCurrency * cdsItensPRECO_UNIT.AsCurrency) - cdsItensCalcValorDesconto.AsCurrency + cdsItensCalcValorAcrescimo.AsCurrency;
no BeforePost
cdsItensVALOR_TOTAL.AsCurrency := cdsItensCalcVlrTotal.AsCurrency;
no OnNewRecord:
cdsItensVALOR_TOTAL.AsCurrency := 0;
Estou fazendo algo de errado? Lembrando que o sum do aggregate está pegando deste campo: cdsItensVALOR_TOTAL
[]s
Gostei + 0
24/11/2006
Brunolspp
quer baixar algum exemplo meu e comparar no uso?
o link: http://cc.borland.com/Author.aspx?ID=795118
no exemplo do BorCon 2006 tem aggregate no cadastro de pedido
ja tentou refazer?
Abração
Gostei + 0
24/11/2006
Titanius
Já refiz e nada... a única diferenca dele para os outros, é que nele eu tenho parametros.. tipo:
em todos os outros, eu mudo o SQL no IBQuery.... já nesse nao... o SQL está pronto. e eu passo o codigo pro parametro no CDS e mando abrir o CDS...
Será que tem algo haver com isso?
[]s
Gostei + 0
24/11/2006
Djorius
enfim, faça o seguinte: em todas as referências que você ao campo no código, remova ´.AsCurrency´ e troque por ´.Value´. Dessa forma resolveu o meu problema. Veja se resolve o seu.
Gostei + 0
24/11/2006
Titanius
Valeu, mas mudei e nao resolveu... to achando muito estranho.. :(
[]s
Gostei + 0
24/11/2006
Djorius
isso também gerava o mesmo erro comigo.
Gostei + 0
24/11/2006
Marco Salles
Assim se voce quer resultado da soma uses
Gostei + 0
25/11/2006
Titanius
O campo em questão, o aggregate, eu não faço cálculo nenhum, ele só serve pra me exibir a soma num DBText.
Eu tinha vinculado ele num DBEdit, e estava dando este erro, mudei pro DBText e parou de dar erro, estranho né?!
[]s
Gostei + 0
25/11/2006
Marco Salles
bem , para mim isto é um calculo... [b:5adbb5254d]Sum(Valor_Total)[/b:5adbb5254d]
Ou não é :?: :?: :?: :?:
Voce fez tudo certo...
[b:5adbb5254d]muito estranho[/b:5adbb5254d]
Agora , veja o exemplo simples
bem , sendo o campo SomaVlrTotal´ Agregate ,ao exceutar as instruçoes a seguir , voce obter um erro dizendo :
[b:5adbb5254d]Cannot access field ´SomaVlrTotal´ as type float. [/b:5adbb5254d]
mas , ja se voce fizer assim
voce não obterá esse erro:
[b:5adbb5254d]enfim , tudo indica que voce esta em algum lugar usando , acessando o tipo Float desse campo agrregate, algo que el não possui[/b:5adbb5254d]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)