VB6 NAO EXIBE VALOR DEPOIS DA VIRGULA
Boa noite,
Estou usando VB6 pra acessar uma base de dados PostgreSQL 9.0. A conexão está funcionando bem, porém tenho um campo do tipo Numeric(8,2) que na base de dados possui informações com decimais, mas o textbox os mostra apenas com 00 no final. Já formatei de várias maneiras (exemplos abaixo) e continuam aparecendo dessa maneira.
txtVal.Text = Format(rst![Valor], [Ô]###,##0.00[Ô])
txtVal.Text = Format$(rst![Valor], [Ô]currency[Ô])
txtVal.Text = Format(CCur(rst![Valor]), [Ô]###,##0.00; ###,##0.00;0;
\u\l\o[Ô])
Campo (banco de dados): Valor = 500.25
SaÃda desejada textbox: txtVal = 500,25
SaÃda atual textbox: txtVal = 500,00
Alguém tem uma luz pra me fornecer? Obrigado!
Estou usando VB6 pra acessar uma base de dados PostgreSQL 9.0. A conexão está funcionando bem, porém tenho um campo do tipo Numeric(8,2) que na base de dados possui informações com decimais, mas o textbox os mostra apenas com 00 no final. Já formatei de várias maneiras (exemplos abaixo) e continuam aparecendo dessa maneira.
txtVal.Text = Format(rst![Valor], [Ô]###,##0.00[Ô])
txtVal.Text = Format$(rst![Valor], [Ô]currency[Ô])
txtVal.Text = Format(CCur(rst![Valor]), [Ô]###,##0.00; ###,##0.00;0;
\u\l\o[Ô])
Campo (banco de dados): Valor = 500.25
SaÃda desejada textbox: txtVal = 500,25
SaÃda atual textbox: txtVal = 500,00
Alguém tem uma luz pra me fornecer? Obrigado!
Se você não formatar esse valor, simplesmente atribuir ele à caixa de texto, como fica? 500.25?
txtVal.Text = rst![Valor]
Valeu Jonathan!
Já tinha tentado dessa maneira também e fica sem nem apresentar os centavos, valor inteiro. Dessa maneira:
SaÃda: txtVal = 500
Já tinha tentado dessa maneira também e fica sem nem apresentar os centavos, valor inteiro. Dessa maneira:
SaÃda: txtVal = 500
Na verdade fiz essa pergunta para confirmar minha tese.
Você poderá dar 500 tipos de Format, nenhum deles irá chegar no resultado esperado.
Pois o erro ocorre na busca desse valor, e não na inserção dele na caixa de texto.
Tente buscar esse valor como string.
Você poderá dar 500 tipos de Format, nenhum deles irá chegar no resultado esperado.
Pois o erro ocorre na busca desse valor, e não na inserção dele na caixa de texto.
Tente buscar esse valor como string.
Como assim? Estou fazendo um [Ô]Select * from Clientes[Ô] e trazendo todos os campos.
Desculpe minha ignorância, mas não entendi o que você quis dizer.
Mais uma vez obrigado!
Desculpe minha ignorância, mas não entendi o que você quis dizer.
Mais uma vez obrigado!
Talvez a ignorância seja minha, é que eu trabalho com DataSet tipado,
para fazer uma busca eu faço assim: dr.GetString(0).
Isso que quis dizer, para tentar buscar esse valor como string.
Pois pelo que percebo ele está se perdendo na busca, como se estive buscando um valor Integer.
para fazer uma busca eu faço assim: dr.GetString(0).
Isso que quis dizer, para tentar buscar esse valor como string.
Pois pelo que percebo ele está se perdendo na busca, como se estive buscando um valor Integer.
Estou usando VB6 e ADO pra acessar a base de dados. Segue minha string de conexão:
Public cnnPG As New ADODB.Connection
Dim rst As New ADODB.Recordset
cnnPG.Open [Ô]Provider=PostgreSQL OLE DB Provider;Data Source=localhost;location=Teste;User ID=postgres;password=senha;[Ô]
rst.CursorLocation = adUseClient
rst.Open [Ô]Select * from Clientes[Ô], cnnPG, adOpenKeyset, adLockOptimistic, adCmdText
Por favor, dê uma olhada e veja se existe algo errado. Obrigado!
Public cnnPG As New ADODB.Connection
Dim rst As New ADODB.Recordset
cnnPG.Open [Ô]Provider=PostgreSQL OLE DB Provider;Data Source=localhost;location=Teste;User ID=postgres;password=senha;[Ô]
rst.CursorLocation = adUseClient
rst.Open [Ô]Select * from Clientes[Ô], cnnPG, adOpenKeyset, adLockOptimistic, adCmdText
Por favor, dê uma olhada e veja se existe algo errado. Obrigado!
Não vejo nada de errado não!
Só para teste, você já tentou alterar o tipo de Numeric para Double?
Só para teste, você já tentou alterar o tipo de Numeric para Double?
Bom, fiz o que você me sugeriu e tanto com o tipo de dados [Ô]double precision[Ô] quanto no [Ô]real[Ô] funcionou perfeitamente. O que acontece com o tipo [Ô]numeric[Ô]. Será problema com o PostgreSQL? O problema é que esses dois campos não tenho controle dos tamanhos, etc. Alguma sugestão?
Desde já agradeço sua atenção e ajudas!
Desde já agradeço sua atenção e ajudas!
Leia o manual do tipo Numeric.
Numeric Types
Acredito que irá funcionar usando Numeric(2), assim você informa a precisão dele!
Numeric Types
Acredito que irá funcionar usando Numeric(2), assim você informa a precisão dele!
Funcionou?
Tópico encerrado , respostas não são mais permitidas