LFMR 0 Denunciar post Postado Junho 13, 2011 Olá pessoal, já há algum tempo não participo por falta de tempo, estou voltando a ativa. O negoço é o seguinte... Tenho uma aplicação em delphi utilizando banco de dados mysql5, e na tabela caixa tenho a coluna valor. Pois bem... Gostaria de somar os valores de forma correta por se eu tento somar 120.000.00 com 122.000.00 ele me retorna o resultado 244. Sem lógica isso não? pois ele deveria me retornar o resultado 244.000.00. Estou utilizando: "SELECT SUM(valor) FROM CAIXA" para fazer a busca. Espero desesperadamente pela ajuda de vocês Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Junho 13, 2011 você poderia verificar como estão gravados estes valores, digo isto em relação a pontos e vírgulas. Não use vírgulas ao gravar dados na base e sim o ponto. Use o ponto como separador de decimais e não como separador de milhar... Compartilhar este post Link para o post Compartilhar em outros sites
LFMR 0 Denunciar post Postado Junho 14, 2011 ok, entedi, fiz o que você disse acima e deu certo, porém como eu faço para exibir os dados em um componente do tipo dbtext formatado após a busca e soma dos valores? tipo 0.000,00? Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Junho 14, 2011 este link pode ajudar: http://www.activedelphi.com.br/forum/viewtopic.php?t=40289&sid=41e9ec2adf2470b8d98dc74cdb428810 Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Junho 14, 2011 Se você adicionou os campos dentro de um componente Table ou Query, sete a propriedade DisplayFormat do mesmo com a máscara que desejar. Compartilhar este post Link para o post Compartilhar em outros sites
LFMR 0 Denunciar post Postado Junho 14, 2011 Se você adicionou os campos dentro de um componente Table ou Query, sete a propriedade DisplayFormat do mesmo com a máscara que desejar. Fiz o que você disse com esta máscara #,##0.00 e na hora que faço a busca ele me retorna o seguinte erro: '20.000,00' is not a valid floating point value. Porém ele retorna o resultado da forma correta. Os dados no banco estão gravados neste formato: 2500.00 será se alguém aí tem alguma idéia de como resolver este erro? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Junho 14, 2011 Qual o tipo de campo no banco de dados? Qual o SQL e componentes utilizados? Compartilhar este post Link para o post Compartilhar em outros sites
LFMR 0 Denunciar post Postado Junho 15, 2011 Qual o tipo de campo no banco de dados? Qual o SQL e componentes utilizados? O banco de dados é MYSQL5 e estou utlizando o componente ZQuery do pacote ZEOS Compartilhar este post Link para o post Compartilhar em outros sites
LFMR 0 Denunciar post Postado Junho 15, 2011 Aeeee galera!!! Finalmente consegui, foi bem mais fácil do que parecia. Fiz da seguinte forma: ao invés de colocar um DBtext ligado ao Query que faz a busca, coloquei um Label, depois de fazer a consulta coloquei o seguinte: label17.caption:=formatfloat('###,###,##0.00',SomaEntrdasSumValor.Value); mais especificamente: nome_label.caption:=formatfloat('###,###,##0.00',campo_do_query_que_está_realizando_a_soma.Value); e pronto! Espero que possa ajudar mais alguém Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Junho 16, 2011 Aeeee galera!!! Finalmente consegui, foi bem mais fácil do que parecia. Fiz da seguinte forma: ao invés de colocar um DBtext ligado ao Query que faz a busca, coloquei um Label, depois de fazer a consulta coloquei o seguinte: label17.caption:=formatfloat('###,###,##0.00',SomaEntrdasSumValor.Value); mais especificamente: nome_label.caption:=formatfloat('###,###,##0.00',campo_do_query_que_está_realizando_a_soma.Value); e pronto! Espero que possa ajudar mais alguém Que bom que você conceguiu, mais o erro estava ocorrendo ai por causa do ponto, se você desse um StringReplace arrancando os pontos ele iria funcionar tb. :joia: Compartilhar este post Link para o post Compartilhar em outros sites