Será q niguém tever problema com campos NUMERIC(18,2) ?

Firebird

12/08/2003

Olá!
Criei uma Tabela Cadprod com os seguinte campos:

Codprod VarChar(50),
Prevenda Numeric(12,2),
Precusto Numeric(12,4),
Percentual Numeric(6,2),
Pre_Venda Float; //...funciona normal

Acontece o seguinte:
Quando tento fazer algo, como iniciar, soma, dividir, etc com o campo
Prevenda, o compilador me gera um erro, de type incompativel.

Ex: cds_ProdPrevenda.value := 0; //... o compilador gera um erro

[Error] Form_Cadprod.pas(882):
Operator not applicable to this operand type

[Error] Form_Cadprod.pas(888):
Incompatible types: ´TBcd´ and ´Extended´

Mas cds_Percentual.value := 10.50 //..aceita;

Fiz um teste com campos Float e funcional normal.
Alguém sabe o q acontece com este tipo de campo ´NUMERIC()´.

Se simplesmente uso o compo PREVENDA no Form.DBEdit, passa normal,
só não posso fazer operacoes com este campo.

Estou usando agora campos tipo FLOAT para os que usam casas decimais,
o caso de precos, e esta funcionano normalmente.

A quem responder, desde já meus agradecimentos.

ANT.CARLOS/SP
T+


Ant.carlos/sp

Ant.carlos/sp

Curtidas 0

Respostas

Afarias

Afarias

12/08/2003

Não entendi bem o problema (nem o q tem haver com NUMERIC(18,2) ??), entretanto, aconcelho não usar a propriedade VALUE e sim AsCurrency, AsFloat, AsInteger, etc...

E, para verificar, experimente o seguinte:

cds_ProdPrevenda.value := 0.00;



T+


GOSTEI 0
Ant.carlos/sp

Ant.carlos/sp

12/08/2003

Valeu!
Pois foi só usar PREVENDA.AsCurrency := 0 que tudo funcionou.

Grato!

ANT.CARLOS/SP


GOSTEI 0
POSTAR