Código de Visual Basic - Validar campos numericos

Versión 1
estrellaestrellaestrellaestrellaestrella(6)

Publicado el 11 de Febrero del 2002gráfica de visualizaciones de la versión: Versión 1
36.132 visualizaciones desde el 11 de Febrero del 2002
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

En un modulo coloca el código, y en el evento keypress del control coloca:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If ValorNumerico(KeyAscii) = False Then KeyAscii = 0
End Sub

Devuelve true si el valor es numerico, y false si no lo es.
1
2
3
4
5
6
7
8
9
10
11
12
13
'Debe recibir el valor ASCII de la tecla pulsada
'http://www.lawebdelprogramador.com
Function ValorNumerico(CodigoTecla As Integer) As Boolean
    If CodigoTecla = 8 Then 'backspace
        ValorNumerico = True
        Exit Function
    End If
    If CodigoTecla > 47 And CodigoTecla < 58 Then
        ValorNumerico = True
    Else
        ValorNumerico = False
    End If
End Function



Comentarios sobre la versión: Versión 1 (6)

Arturo Guzmán Guerra
12 de Febrero del 2002
estrellaestrellaestrellaestrellaestrella
Esto mismo se logra hacer con la instruccion
isnumeric(text1.text) una vez que el usuario haya introducido toda la cadena a analizar o bien en el mismo evento solo que convirtiendo el codigo ascii a caracter...
Responder
pieroh
13 de Marzo del 2002
estrellaestrellaestrellaestrellaestrella
Esta es una rutina que yo desarrollé y me funciona bien.
Si alguien tiene un mejor comentario que me lo envio por Email.

Private Sub Txtneto_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If IsNumeric(Txtneto.Text) Then
Txtneto.Text = Abs(Format(Txtneto.Text, "#####.00"))
Txtiva.SetFocus
Else
Txtneto.Text = "0.00"
Txtneto.Text = Abs(Format(Txtneto.Text, "#####.00"))
Txtiva.SetFocus
End If
End If
End Sub
Responder
Elkin Yesid Moreno Vélez.
21 de Marzo del 2002
estrellaestrellaestrellaestrellaestrella
Utilizando la función IsNumeric de Visual Basic.
Sub Numerico(KeyAscii As Integer)
Select Case KeyAscii
Case vbKeyBack, vbKeyTab
Case Else
If Not IsNumeric(Chr$(KeyAscii)) Then KeyAscii = 0
End Select
End Sub
Responder
16 de Mayo del 2002
estrellaestrellaestrellaestrellaestrella
El codigo de puede optimizar
If CodigoTecla > 47 And CodigoTecla < 58 Then
ValorNumerico = True
Else
ValorNumerico = False
end if
OPTIMIZADO
ValorNumerico = (CodigoTecla > 47 And CodigoTecla < 58 )
y asi evitamos el 'mentado' IF
Responder
DarkSoul
7 de Septiembre del 2002
estrellaestrellaestrellaestrellaestrella
asi es mas facil:

if is numeric(<NombreObjeto>) then
' es numero
else
'no es numero
end if
Responder
Erick
15 de Julio del 2006
estrellaestrellaestrellaestrellaestrella
Si funciona en el textbox, solo deja escribir los numeros del 0 al 9, perfecto para validar cajas de texto con solo numeros por ejemplo cantidades
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s68