VB6 NAO EXIBE VALOR DEPOIS DA VIRGULA

DADOBEER 01/03/2011 21:50:32
#366951
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!
DADOBEER 01/03/2011 22:11:31
#366952
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[Ô])?
DADOBEER 02/03/2011 10:34:53
#366979
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!
JONATHANSTECKER 02/03/2011 10:48:46
#366982
Só para tirar minha dúvida, tente colocar o Valor como Numeric(10,4).
Veja o que retorna.
DADOBEER 02/03/2011 11:00:44
#366986
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
QUASAR23 02/03/2011 11:57:56
#366997
Resposta escolhida
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..

DADOBEER 02/03/2011 12:23:26
#367004
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!
XXXANGELSXXX 02/03/2011 12:32:27
#367007
txtval.text = [Ô][Ô] & format(rst!Valor, [Ô]currency[Ô])

Assim vai dar certo
Página 2 de 5 [41 registro(s)]
Tópico encerrado , respostas não são mais permitidas