COMO SABER SE UM VALOR E CURRENCY ?
Olá, Bom dia à todos !!
Minha dúvida é a seguinte: no meu projeto existe um txtbox, no qual o usuario irá digitar um valor monetario, pesquisando na net, achei uma função para formatar o valor com as casas decimais.
Mas essa função nao faz a verificação para ver se o valor é valido. Existe alguma formatador ou alguma maneira de verificar se o valor digitado é ou nao do tipo currency ?
Mto obrigado, e um grande abraço à todos !
e bom carnaval.. se beber, nao dirija ! hahaa
Minha dúvida é a seguinte: no meu projeto existe um txtbox, no qual o usuario irá digitar um valor monetario, pesquisando na net, achei uma função para formatar o valor com as casas decimais.
Mas essa função nao faz a verificação para ver se o valor é valido. Existe alguma formatador ou alguma maneira de verificar se o valor digitado é ou nao do tipo currency ?
Mto obrigado, e um grande abraço à todos !
e bom carnaval.. se beber, nao dirija ! hahaa
o que vc pode fazer é criar uma função para bloquear letras e outros caracteres que não seja numero.
assim quando o usuário for preencher o campo ele so poderá digitar números.
assim quando o usuário for preencher o campo ele so poderá digitar números.
eu uso esta função a muito tempo, e funciona bem, coloca ela no evento Change do textbox
[ô] *****************************************************
[ô] Módulo: ModuloPadrao
[ô] Procedimento: SoNumero
[ô] Criado por: MARCELO KROL
[ô] Em 6/7/2004 18:56:07
[ô] Propósito: recebe string numérica
[ô] retorna string numérica sem pontos, vÃrgulas etc.
[ô] exemplo SóNúmero([Ô]1.245,90[Ô]) = [Ô]12345,90[Ô]
[ô] *****************************************************
Public Function SoNumero(Campo As String, Optional PermiteVirgula As Boolean = False, Optional PodeNegativo As Boolean = False) As String
100 Dim VA_Posicao As Integer
103 Dim VA_Caracter As String * 1
106 Dim VA_Resultado As String
109 VA_Resultado = vbNullString
112 VA_Posicao = 1
115 Do While VA_Posicao <= Len(Campo)
118 VA_Caracter = Mid$(Campo, VA_Posicao, 1)
121 If PermiteVirgula = True Or PodeNegativo = True Then
124 If IsNumeric(VA_Caracter) = True Or VA_Caracter = [Ô],[Ô] Or VA_Caracter = [Ô]-[Ô] Then
127 VA_Resultado = VA_Resultado & VA_Caracter
130 End If
133 Else
136 If IsNumeric(VA_Caracter) = True Then
139 VA_Resultado = VA_Resultado & VA_Caracter
142 End If
145 End If
148 VA_Posicao = VA_Posicao + 1
151 Loop
154 SoNumero = VA_Resultado
End Function
[ô] *****************************************************
[ô] Módulo: ModuloPadrao
[ô] Procedimento: SoNumero
[ô] Criado por: MARCELO KROL
[ô] Em 6/7/2004 18:56:07
[ô] Propósito: recebe string numérica
[ô] retorna string numérica sem pontos, vÃrgulas etc.
[ô] exemplo SóNúmero([Ô]1.245,90[Ô]) = [Ô]12345,90[Ô]
[ô] *****************************************************
Public Function SoNumero(Campo As String, Optional PermiteVirgula As Boolean = False, Optional PodeNegativo As Boolean = False) As String
100 Dim VA_Posicao As Integer
103 Dim VA_Caracter As String * 1
106 Dim VA_Resultado As String
109 VA_Resultado = vbNullString
112 VA_Posicao = 1
115 Do While VA_Posicao <= Len(Campo)
118 VA_Caracter = Mid$(Campo, VA_Posicao, 1)
121 If PermiteVirgula = True Or PodeNegativo = True Then
124 If IsNumeric(VA_Caracter) = True Or VA_Caracter = [Ô],[Ô] Or VA_Caracter = [Ô]-[Ô] Then
127 VA_Resultado = VA_Resultado & VA_Caracter
130 End If
133 Else
136 If IsNumeric(VA_Caracter) = True Then
139 VA_Resultado = VA_Resultado & VA_Caracter
142 End If
145 End If
148 VA_Posicao = VA_Posicao + 1
151 Loop
154 SoNumero = VA_Resultado
End Function
deixe o textbox usar aceitar apenas numeros, virgula e ponto. e no evento lostfocus do textbox coloque isso:
private sub text1_LostFocus()
if isnull(text1.text) then exit sub
text1.text = format(text1.text,[Ô]currency[Ô])
end sub
Muito obrigado ! A solução que imaginava era parecida com a q o CAIO_FR_SP mostrou, só nao sabia a sintaxe para formatar.. e ja vou aproveitar e implementar tb a solução para nao permitir letras no textbox. Valeew mesmo ! Abraços !
ou usa essa controle..
http://vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=7641
http://vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=7641
Tópico encerrado , respostas não são mais permitidas