Fórum consulta por valor monetário #261407
10/12/2004
0
Ola pessoal do forum
Bem preciso rodar uma consulta por valor monetário na aplicação eu utilizo D7 com SQL2000 e conexão DbExpress.
A rotina esta assim
if combobox1.text = ´Valor Aberto´ then
begin
Close;
CommandText := (´ Select * from receber where re.valor like ´);
CommandText := CommandText +(´+chr(39)+StrToFloat(edit1.text)+chr(39) ´);
Open;
end;
se o valor informado no edit1 é R$158,50 , ele tras 15.850,00 se eu troco (like) ele filtra apenas a parte inteira despresando os centavos
se troco (like) por (=) ele nao filtar valores com centavos apenas inteiros
No sql ele grava com até 16 casas na decimal
Uma luz por favor, obrigado
Denis
Bem preciso rodar uma consulta por valor monetário na aplicação eu utilizo D7 com SQL2000 e conexão DbExpress.
A rotina esta assim
if combobox1.text = ´Valor Aberto´ then
begin
Close;
CommandText := (´ Select * from receber where re.valor like ´);
CommandText := CommandText +(´+chr(39)+StrToFloat(edit1.text)+chr(39) ´);
Open;
end;
se o valor informado no edit1 é R$158,50 , ele tras 15.850,00 se eu troco (like) ele filtra apenas a parte inteira despresando os centavos
se troco (like) por (=) ele nao filtar valores com centavos apenas inteiros
No sql ele grava com até 16 casas na decimal
Uma luz por favor, obrigado
Denis
Decandido21
Curtir tópico
+ 0
Responder
Posts
10/12/2004
Gandalf.nho
Isso é pq valores fracionários usam ponto para marcar as decimais na notação ´americana´ usada pelos bancos de dados e não vírgula como aqui. Você terá que passar de vírgula para ponto antes de transformar em valor fracionário ou usar um Edit já adaptado para valores tipo ponto flutuante.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)