FUN?ÃO SÓ ACEITAR NÊMEROS

SERENO 13/07/2016 15:51:49
#464786
Boa tarde,

Tenho a função abaixo para aceitar somente números no módulo4 e quero usá-la no txtCpf_KeyPress(KeyAscii As Integer)

Public Function SóNúmeros(CPF As String) As Boolean
Select Case l
Case 48 To 57
SóNúmeros = l
Case Else
SóNúmeros = 0
MsgBox [Ô]Favor selecionar acima uma das opções Pessoa Física ou Pessoa Jurídica![Ô], vbCritical, [Ô]Erro de validação[Ô]
End Select
End Function

Então, como sou iniciante, necessito da ajuda de vocês. Quero usar uma rotina que ao digitar no txtCpf, impedir que digite letras e pontos, e informar a mensagem acima. A mensagem acima obrigará a pessoa a selecionar o option1 ou option2.

Agradeço desde já
ANDPAG 13/07/2016 16:10:18
#464787
Voce pode colocar isso na propriedade keypress da caixa de texto
If KeyAscii = 46 Then KeyAscii = 44
If KeyAscii = 44 And InStr(text1.Text, [Ô],[Ô]) <> 0 Then
KeyAscii = 0
Else
If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 And KeyAscii <> 44 Then KeyAscii = 0
End If

ou então pode utilizar o componente MaskEdBox no lugar de uma textbox e na propriedade mask coloque esta mascara --> ##.###.###/####-##
SERENO 13/07/2016 17:30:32
#464793
Citação:

:
Voce pode colocar isso na propriedade keypress da caixa de texto
If KeyAscii = 46 Then KeyAscii = 44
If KeyAscii = 44 And InStr(text1.Text, [Ô],[Ô]) <> 0 Then
KeyAscii = 0
Else
If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 And KeyAscii <> 44 Then KeyAscii = 0
End If

ou então pode utilizar o componente MaskEdBox no lugar de uma textbox e na propriedade mask coloque esta mascara --> ##.###.###/####-##



Prezado ANDPAG,

O código informado por você funcionou, mas apenas impediu de digitar letras. Ele aceita vírgula, e não pode ser inserido vírgula. Gostaria que ao digitar letras ou símbolos, aparecesse a mensagem para selecionar o option1 ou option2 antes de digitar os números.

Ex.: MsgBox [Ô]Favor selecionar acima uma das opções Pessoa Física ou Pessoa Jurídica![Ô], vbCritical, [Ô]Erro de validação[Ô]

Agradeço sua atenção.
ZAUPAJR 13/07/2016 17:37:55
#464794
Vê se isso te ajuda:
Public Function nasc_verifica(datanasc As String) As Boolean
nasc_verifica = True

For i = 1 To Len(datanasc)

If Not IsNumeric(Mid(datanasc, i, 1)) Then
nasc_verifica = False

Exit Function
End If
Next
End Function
HELENO 14/07/2016 09:21:13
#464807
Sds SERENO

No evento KeyPress do TextBox você coloca:

Private Sub SeuTextBox_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0
End Sub
ADEMIRAS217 14/07/2016 11:00:43
#464810
Bom dia a todos,
Certa vez coloquei um filtro dentro de Text1.Change.
A caixa de texto só admitia caracteres entre 0 e 9, CHR (48) e CHR (57). O resultado foi ótimo.
Não estou certo se esse é o caso mas é uma idéia .
Um abraço ,
AAS
JCM0867 14/07/2016 16:02:22
#464821
Private Sub txtNumeroRemessa_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtNumeroRemessa.KeyPress
Dim KeyAscii As Short = CShort(Asc(e.KeyChar))

KeyAscii = CShort(SoNumeros(KeyAscii))
If KeyAscii = 0 Then
e.Handled = True
End If
End Sub

Public Function SoNumeros(ByVal Keyascii As Short) As Short
If InStr([Ô]1234567890[Ô], Chr(Keyascii)) = 0 Then
SoNumeros = 0
Else
SoNumeros = Keyascii
End If

Select Case Keyascii
Case 8
SoNumeros = Keyascii
Case 13
SoNumeros = Keyascii
Case 32
SoNumeros = Keyascii
End Select
End Function

Agora implementa as condições

_____________________________________________
[txt-color=#0000f0]Precisando de um Sistema de Gestão Educacional?[/txt-color]
Desenvolvido em VB.NET + SQL Server + Crystal Reports
Conheça nossa Solução: www.cjsystem.com.br



FABRICIOWEB 17/07/2016 12:11:45
#464856
Private Sub Text3_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
MsgBox [Ô]Só é permitido numeros[Ô], vbCritical, [Ô]Mensagem de erro[Ô]
KeyAscii = 0
End If
End Sub
ANDPAG 18/07/2016 00:38:19
#464870
Deixe somente

If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 And KeyAscii <> 44 Then KeyAscii = 0
SERENO 20/07/2016 10:52:51
#464961
Obrigado à todos pela ajuda. Consegui sanar o problema aqui. Abraços!
Tópico encerrado , respostas não são mais permitidas