VB6 NAO EXIBE VALOR DEPOIS DA VIRGULA
Mais uma vez obrigado, Jonathan!
Li o material, mas se usar dessa maneira o campo aceitará apenas números de até 2 digitos sem decimal, ex: 5 ou 15 ou 89, etc. Estava usando Numeric(8,2) sendo 8 posições com 2 casas decimais. Só funcionou quando alterei o tipo.
Caso não consiga vou tender a usar o tipo [Ô]real[Ô], pois tem 6 dÃgitos de precisão e me atenderia perfeitamente. Caso tenha alguma ideia ou solução, agradeço!
Li o material, mas se usar dessa maneira o campo aceitará apenas números de até 2 digitos sem decimal, ex: 5 ou 15 ou 89, etc. Estava usando Numeric(8,2) sendo 8 posições com 2 casas decimais. Só funcionou quando alterei o tipo.
Caso não consiga vou tender a usar o tipo [Ô]real[Ô], pois tem 6 dÃgitos de precisão e me atenderia perfeitamente. Caso tenha alguma ideia ou solução, agradeço!
Acabei de ler algo que me deixou meio preocupado, pois no texto diz que os tipos [Ô]real[Ô] ou [Ô]double precision[Ô] são inexatos e podem apresentar problemas em alguns cálculos, além disso, a sugestão é usar os tipos [Ô]numeric[Ô] ou [Ô]decimal[Ô] para armazenar dados monetários e para cálculos mais exatos.
Onde será que está o problema para se apresentar no textbox de forma correta os dados com as casas decimais do campo Numeric(8,2) do PostgreSQL no VB6 usando o format(campo, [Ô]#,##0.00[Ô])?
Onde será que está o problema para se apresentar no textbox de forma correta os dados com as casas decimais do campo Numeric(8,2) do PostgreSQL no VB6 usando o format(campo, [Ô]#,##0.00[Ô])?
Bom dia,
Tentei as duas opções, declarando a variável e formatando das duas maneiras e continuam retornando valores sem os decimais. Depurei e o valor que o VB traz do banco de dados é inteiro, sem os 2 dÃgitos de precisão declarados no tipo numeric(8,2). Alguém tem alguma luz pra esse problema?
Mais uma vez obrigado a todos!
Tentei as duas opções, declarando a variável e formatando das duas maneiras e continuam retornando valores sem os decimais. Depurei e o valor que o VB traz do banco de dados é inteiro, sem os 2 dÃgitos de precisão declarados no tipo numeric(8,2). Alguém tem alguma luz pra esse problema?
Mais uma vez obrigado a todos!
Só para tirar minha dúvida, tente colocar o Valor como Numeric(10,4).
Veja o que retorna.
Veja o que retorna.
Nada! Mesmo problema usando Numeric(10,4). Depurei e traz os valores inteiros.
Testei com Access e funcionou normalmente usando tipo [Ô]Número geral[Ô].
Estou usando VB6 com SP6 e PostgreSQL 9.0 num Windows XP SP3.
Socorro! rsrsrs
Testei com Access e funcionou normalmente usando tipo [Ô]Número geral[Ô].
Estou usando VB6 com SP6 e PostgreSQL 9.0 num Windows XP SP3.
Socorro! rsrsrs
Cara tem uma dica... caso não haja calculo seja somente para visualização vc nem precisa formata o campo, pega o dado transforma em string mesmo, ele vai manter 500,25
ela ja ta no banco como [Ô]500.25[Ô]
isso se ela não tiver como string no banco caso contrario joga direto.
txtval = str(valor)
não precisa nem format esse valor...
abraço..
ela ja ta no banco como [Ô]500.25[Ô]
isso se ela não tiver como string no banco caso contrario joga direto.
txtval = str(valor)
não precisa nem format esse valor...
abraço..
Fiz o teste com a função Str() e retorna o valor inteiro, mesmo depurando. O dado está no banco como número. Fazendo um SQL direto no PostgreSQL retorna o valor certo com os decimais. Isso tá virando um mistério! rsrsrs
Obrigado a todos e aguardo alguma nova ajuda!
Obrigado a todos e aguardo alguma nova ajuda!
txtval.text = [Ô][Ô] & format(rst!Valor, [Ô]currency[Ô])
Assim vai dar certo
Assim vai dar certo
Tópico encerrado , respostas não são mais permitidas