MASCARA PARA MOEDA

CJMCARDOSO 23/08/2010 17:01:40
#351016
bom é seguinte galera peguei uma dica aqui no site sobre mascara de moeda e melhnor que eu ja vi do vb mas to com um problema uso mySql como banco essa mascara na hora incluir funciona ok mas na hora que eu pego o conteudo do banco por exemplo se o valor 1500,00 ele me traz 150,00 se eu tirar a mascara traz certo vc podem me ajudar a resolver isso?
Aqui é link da mascara
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=4759
MENDESCCO 23/08/2010 17:06:43
#351017
Resposta escolhida
experimentou usar [Ô]###,##0.00[Ô] ? ou [Ô]###,###.00[Ô]
CJMCARDOSO 23/08/2010 17:22:54
#351021
sim ja nao deu ceto é sempre quando tem milhar centena traz certinho
MENDESCCO 23/08/2010 17:28:46
#351024
verifique o campo no banco se ta certo, se for integer nao ira te trazer o decimal, veja se ta float. e se vc armazena o valor em variavel, mete um break point e veja que valor ta te trazendo, talvez ai esteja o problema.
CJMCARDOSO 23/08/2010 17:30:24
#351026
bom ja fiz isso traz certo o valor sim no banco coloco como double. O banco traz certinho 1500,00 na hora que mostra na text ele mostra 150,00
MENDESCCO 23/08/2010 17:35:38
#351029
bom entao no meu caso tenho o seguinte
Me.txtValorUnitario = Format(TbMateriais![Vl_Base_Venda], [Ô]###,##0.00[Ô])

nao sei se é isso.
Jogo o valor formatado num campo text, deve ser o que vc esta fazendo.
MENDESCCO 23/08/2010 17:37:32
#351030
ou ainda [Ô]#####0.00[Ô]
CJMCARDOSO 23/08/2010 17:39:25
#351031
Nao deu certo o problema é mascara por exemplo seu eu tirar essa mascara que utilizei ele traz corretamente o valor
MENDESCCO 23/08/2010 17:46:32
#351032
passa a linha do teu codigo, fica um pouco mais facil de visualizar
CJMCARDOSO 23/08/2010 17:48:24
#351033
esta no modulo
Public Sub MascMoeda(ByVal Controle As TextBox)
Dim i As Integer, T As String
With Controle
[ô]Armazena o Text, para nao causar o evento change a toa
T = .Text
[ô]Armazena o SelStart da Dir. para Esq., pois o alinhamento é esq.
i = Len(T) - .SelStart
[ô]Tira a virgula da var T
T = Replace(.Text, [Ô],[Ô], [Ô][Ô])
[ô]Acrescenta zeros
If Len(T) <= 3 Then T = String(3 - Len(T), [Ô]0[Ô]) & T
[ô]Monta o nr separando as casas
T = Mid(T, 1, Len(T) - 2) & [Ô],[Ô] & Mid(T, Len(T) - 1)
[ô]Formata o nr para tirar os zeros a mais q podem ficar no começo
T = Format(T, [Ô]#####0.00[Ô])
[ô]Verifica se o valor do Text é <> da Var. T (para nao travar no evento Change)
If .Text <> T Then .Text = T
[ô]Como mudou o valor do TextBox, tem q voltar o SelStart ao q era antes
.SelStart = Len(T) + i
End With
End Sub

Private Sub txtValor_Change()
MascMoeda txtValor [ô]Para criar a máscara de moeda
End Sub
MARCELOKROL 23/08/2010 17:52:01
#351034
uso estas constantes em meus sistemas e sempre funcionaram certinho

Public Const FNumMoeda As String * 24 = [Ô]R$ #,##0.00;R$ -#,##0.00[Ô]
Public Const FNum2 As String * 18 = [Ô]#,##0.00;-#,##0.00[Ô]
Public Const FNum3 As String * 22 = [Ô]#,###0.000;-#,###0.000[Ô]
Public Const FData As String * 10 = [Ô]DD/MM/YYYY[Ô]
Public Const fCnpj As String * 24 = [Ô]00\.000\.000/0000-00;0; [Ô]
Public Const fCPF As String * 21 = [Ô]000\.000\.000\-00;0;_[Ô]
Página 1 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas