Será q niguém tever problema com campos NUMERIC(18,2) ?
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+
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
Curtidas 0
Respostas
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+
E, para verificar, experimente o seguinte:
cds_ProdPrevenda.value := 0.00;
T+
GOSTEI 0
Ant.carlos/sp
12/08/2003
Valeu!
Pois foi só usar PREVENDA.AsCurrency := 0 que tudo funcionou.
Grato!
ANT.CARLOS/SP
Pois foi só usar PREVENDA.AsCurrency := 0 que tudo funcionou.
Grato!
ANT.CARLOS/SP
GOSTEI 0