Código de Visual Basic - Validar campos numericos

Imágen de perfil

Validar campos numericosgráfica de visualizaciones


Visual Basic

estrellaestrellaestrellaestrellaestrella(6)
Publicado el 11 de Febrero del 2002 por Administrador
25.248 visualizaciones desde el 11 de Febrero del 2002. Una media de 35 por semana
Función que determina si un valor introducido en un control en numerico

Versión 1
estrellaestrellaestrellaestrellaestrella(6)

Publicado el 11 de Febrero del 2002gráfica de visualizaciones de la versión: Versión 1
25.249 visualizaciones desde el 11 de Febrero del 2002. Una media de 35 por semana
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
Juan Mamani
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
07 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

http://lwp-l.com/s68