Fortes Report e TFMTBCDField

Delphi

17/06/2004

Pessoal, migrando o sistema de BDE para DBX tive um problema com os campos Float que vem como TFMTBCDField agora. Quando uso um RLDBResult em um campo TBCDField ele funciona legal, mas quando preciso usar a função soma ou média em um campo TFMTBCDField, não vem valor nenhum.

Alguem já passou por isso?


Marcosalex

Marcosalex

Curtidas 0

Respostas

Einstein

Einstein

17/06/2004

bom, veja o tamanho do campo que vc criou.


GOSTEI 0
Jbneto

Jbneto

17/06/2004

testei com campos do tipo double precision e float e funcionou, se vc já tiver outra solução coloque o forum por favor.


GOSTEI 0
Jbneto

Jbneto

17/06/2004

pode não ser a melhor mas só sei que deu certo: crie uma variável na seção var, coloque uma label na banda summary, não retire o rldbresult, apenas coloque-o visible false, e no evento onCompute do rldbresult digite:
variável := (variável + rldbresult.field.asFloat);
no evento beforePrint da banda summary digite:
label.caption := floattostrF(variável,ffnumber,12,2);
variável := 0.00;

pronto esta foi a solução para imprimir, se alguém tiver melhor coloque no forum por favor.


GOSTEI 0
Marcosalex

Marcosalex

17/06/2004

pode não ser a melhor mas só sei que deu certo: crie uma variável na seção var, coloque uma label na banda summary, não retire o rldbresult, apenas coloque-o visible false, e no evento onCompute do rldbresult digite: variável := (variável + rldbresult.field.asFloat); no evento beforePrint da banda summary digite: label.caption := floattostrF(variável,ffnumber,12,2); variável := 0.00; pronto esta foi a solução para imprimir, se alguém tiver melhor coloque no forum por favor.


Funcionou desse jeito, valeu!!
Meu problema é que com o Sybase, campos de ponto flutuante até um certo tamanho vem como TFloat, mas quando tem muitas casas decimais ou vem de uma função SUM() no SQL, ele vem com o tipo TFMTBCDField e justamente esse tipo de campo dá problema com o DBResult. Outra solução que eu tentei fazer foi usando cast, mas fica muito forçado.


GOSTEI 0
POSTAR