[firebase-br] RES: IBX x FIB - TFIBBCDField - "Could not convert variantof type (null) into type (currency)"
Jose Aparecido da Silva
joseasilva em bol.com.br
Sex Jan 8 09:13:46 -03 2010
Já testou usar qryItens.DESCONTO.asCurrency ?
Dá o mesmo erro?
[ ]'s
Jose Aparecido da Silva
Fasystem
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Alexandre Trindade
Enviada em: sexta-feira, 8 de janeiro de 2010 07:46
Para: FireBase
Assunto: [firebase-br] IBX x FIB - TFIBBCDField - "Could not convert
variantof type (null) into type (currency)"
Pessoal, estou com um problema...
Antes eu usava o IBX para acessar o firebird, mas devido aos problemas de
incompatibilidade com as novas versoes do firebird, eu mudei para o FIBPlus.
Na migracao, os campos TLargeintField devem ser modificados para
TFIBBCDField.
No meu sistema eu tenho, por exemplo, essa operacao:
var Total: TCurrency;
begin
Total := (qryItensPRECO.Value * qryItensQTD.Value) -
qryItensDESCONTO.Value;
end
Onde PRECO, QTD e DESCONTO sao NUMERIC(18,2), me obrigando portanto a usar
um TFIBBCDFIeld;
O problema é que com o antigo TLargeintField a propriedade "Value" é um
numero real, e com o TFIBBCDField é um Variant. E quando o campo DESCONTO
for null, Value sera null também em vez de ZERO, gerando o erro:
"Could not convert variant of type (null) into type (currency)"
Pergunto aos amigos da lista: Existe uma saida para mim ou terei que testar
em todo o meu programa se VarIsNull(qryItensDESCONTO.Value) antes de fazer
as operacoes?
Obs: Também nao quero usar coalesce em cada uma das centenas de consultas
que o meu sistema tem.
MUITO OBRIGADO E FELIZ 2010!!
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista