[firebase-br] Campo zerado
Fabrício Fadel Kammer
ffkammer em conchalnet.com.br
Qui Dez 4 12:21:04 -03 2008
Bom dia Joao, o problema seu é realmente como os colegas falaram, na
definicao dos tipos.
Aconselho que vc defina os campos de seu banco como Numeric (15,2) -
onde 15 é o tamanho total do campo e 2 a qtde de casas decimais.
Você pode sempre gravar os dados de forma arredondada também.
Dessa forma você terá uma precisão maior em seus dados.
Abraços
joao_jma escreveu:
> Os campos foram criados escolhendo o tipo FLOAT pelo IBExpert.
> Estrutura abaixo:
>
> CREATE TABLE MOVIMENTACAO (
> CODIGO INTEGER NOT NULL,
> MES INTEGER,
> ANO INTEGER,
> FUNCIONARIO INTEGER,
> PROVENTOS FLOAT,
> DESCONTOS FLOAT,
> TOTAL FLOAT,
> SALARIO FLOAT,
> VALE FLOAT,
> CESTABASICA VARCHAR(1),
> TIPOMOV VARCHAR(1)
> );
>
> Quando eu digo visualizar, é tanto quando o sistema está rodando e eu
> vejo os registros e também quando visualizo pelo IBExpert..... e pelo
> IBExpert quando entro no campo, me aparece akele valor louco.
>
> Gravo desta maneira (variaveis declaradas no delphi do tipo double)
>
> Var
> wProventos, wDescontos: Double;
>
> ...........................funçoes de calculos..........................
>
> qMovimentacaoPROVENTOS.Value := wProventos;
> qMovimentacaoDESCONTOS.Value := wDescontos;
> qMovimentacaoTOTAL.Value := wProventos - wDescontos;
>
> agradeço
>
>
> Assinatura João M. de Amorim - Informática: Andreza Enxovais -
> Ibitinga/SP ((16) 3341-9000 È(16) 9239-0959
> ----- Original Message ----- From: "Fabrício Fadel Kammer"
> <ffkammer em conchalnet.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Thursday, December 04, 2008 8:53 AM
> Subject: Re: [firebase-br] Campo zerado
>
>
> Bom dia João, vc disse campos criados com tipo float? Seria NUMERIC no
> FB? Como eles estão definidos? Posta a estrutura dessa tabela pra gente
> ver como esses campos foram criados.
>
> Vc também fala que qdo está visualizando... onde vc está visualizando
> esses campos?
>
> Provavelmente o problema está no momento da gravação, como esses campos
> são resultados de cálculos você deve arredondá-los antes de gravar no
> banco, para ter a informação correta, conforme o valor informado pelo
> seu usuário.
>
> Abraços
>
> joao_jma escreveu:
>> Usando Firebird 1.5, Delphi 7 com Zeos.
>>
>> Campos da Tabela que faço calculo. (CAMPOS CRIADOS COM O TIPO FLOAT)
>>
>> PROVENTOS = 690,800
>> DESCONTOS = 690,800
>> ------------------------------------
>> TOTAL = 0,000
>>
>>
>> Quando estou visualizando, os valores aparecem da maneira acima
>> citada. Mas quando eu "entro" no campo pelo IBExpert, dando um ENTER
>> sobre ele, como se eu fosse alterá-lo, os valores mudam... ficam assim:
>>
>> PROVENTOS = 690,7999877929688
>> DESCONTOS = 690,7999877929688
>> ------------------------------------------------------
>> TOTAL = -0,0000152587891
>>
>>
>> Existe um relatório no sistema, que eu testo se o campo TOTAL é < 0
>> ... caso seja menor que zero, imprimo a linha em vermelho.
>> E nesse caso a linha está saindo vermelha.... Alguém sabe me dizer,
>> qual a causa, motivo, razão ou circunstância que está levando esses
>> campos de valores ficarem assim?
>>
>> Antecipo meus agradecimentos
>>
>> João M. de Amorim - Informática: Andreza Enxovais - Ibitinga/SP
>> ((16) 3341-9000
>> È(16) 9239-0959
>> ______________________________________________
>> 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
>>
>>
>
>
> ______________________________________________
> 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
>
>
> ______________________________________________
> 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