TAggregateField.Value

Delphi

16/09/2005

Olá pessoal! Não estou conseguindo encontrar o erro:
Tenho um TAggregateField somando o total de todas as notas
no meu ClientDataSet. Tenho um DBEdit apontando para esse
campo que me retorna o valor correto. No mesmo form existe
um edit onde o usuário pode digitar um valor para desconto.
Adicionei um manipulador para o evento OnExit do Edit.
O código é o seguinte:

   if not cdsNotasTOTALNOTAS.IsNull then
   lbTotal.Caption := CurrToStr(cdsNotasTOTALNOTAS.Value-ValorDesconto)
   else
   lbTotal.Caption := ´nulo´; //coloquei essa linha pra me ajudar a identificar o problema.


Ps.: ValorDesconto (Currency) mantém o valor do desconto digitado pelo usuário.

Adicionei também um manipulador para o OnKeyPress. Se o usuário pressionar ENTER ele executa o mesmo código acima.
O problema é que quando eu rodo o programa o label está recebendo a string ´nulo´, ou melhor, é como se ele não estivesse lendo o valor do campo. E o estranho é que aquele primeiro DBEdit que aponta para esse campo, continua mostrando o valor certo, mas dentro dos manipuladores de evento não consigo recuperar o valor do campo.

Tentei executar esse código também no AfterScroll do CDS e no OnExit (DBGrid), mas continua sem funcionar.

Também tentei trocar o código para CurrToStr(cdsNotasTOTALNOTAS.Value) ao invés de CurrToStr(cdsNotasTOTALNOTAS.Value-ValorDesconto), mas o resultado é o mesmo.

Alguém teria alguma luz :idea: :?:

Até!


Delphi32

Delphi32

Curtidas 0

Respostas

Foxcyber

Foxcyber

16/09/2005

Tente ao invés d usar o cds use o edit pois se o valor nao está gravado ainda ele nao vai conseguir ler.


GOSTEI 0
Delphi32

Delphi32

16/09/2005

Tente ao invés d usar o cds use o edit pois se o valor nao está gravado ainda ele nao vai conseguir ler.


não entendi...

esse edit que tem o valor do desconto é um edit comum. O valor do
desconto não é gravado em lugar algum...

Até!


GOSTEI 0
POSTAR