Programación General > Visual Basic para principiantes

 Texbox Que Solo Admita Números

(1/3) > >>

cj_sw:
Hola, estoy dando mis primeros pasos en VB y la duda que tengo es

En un TexBox ingreso datos para realizar una división, lo pude hacer pero si durante la ejecución ingreso letras me las toma y luego da error

Como hago para que solo admita numeros ?

Para evitar la división por 0 puse este código,

ElseIf TxtTalla = 0 Then
MsgBox "No se puede dividir por 0", vbCritical, "Recuerda que"
TxtTalla.SetFocus
Exit Sub

Si hay otra forma les agradecería el dato


Gracias

RadicalEd:
Hola novato bienvenido al foro, como esta es una pregunta muy preguntada (jejeje valga la redundancia) si quieres puedes usar el buscador del foro, que queda en la parte inferior.

Si quieres hacer que un TextBox acepte solo números puedes hacer lo siguiente:

--- Código: Text ---If (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 0End Sub Ojala te sirva.
Chao

Toph:

--- Citar ---Como hago para que solo admita numeros ?
--- Fin de la cita ---

 :) bueno es basicamente como dijo RadicalEd solo que esa rutina que ha posteado tiene un problema y es que no acepta la tecla BACKSPACE es decir si te equivocas y quieres borrar el dato no puedes hacerlo aqui posteo la forma en que eso se corrige,  :comp: cj_sw tienes que poner esta subrutina para cada textbox al que le quieras restringir la entrada de otros caracteres que no sean numeros


--- Código: Text ---Private Sub text1_keypress(keyascii As Integer)If keyascii = 8 Then '8 es la tecla backspace GoTo salirEnd If If (keyascii < 48 Or keyascii > 57) Then   keyascii = 0 End Ifsalir:End Sub 
ojo si estas usando numeros con punto decimal tienes que modificar este codigo para que acepte el punto decimal (que en realidad es la coma, es numero 44)

saludos  :hola:

x.cyclop:
También puedes usar la función IsNumeric(). :whistling:

RadicalEd:

--- Cita de: "Tania_D" ---
--- Código: Text ---Private Sub text1_keypress(keyascii As Integer)If keyascii = 8 Then '8 es la tecla backspace GoTo salirEnd If If (keyascii < 48 Or keyascii > 57) Then   keyascii = 0 End Ifsalir:End Sub saludos  :hola:
--- Fin de la cita ---
Puede reacomodar tú código de esta manera sin tantos If

--- Código: Text ---Private Sub text1_keypress(keyascii As Integer)If (keyascii < 48 Or keyascii > 57) And KeyAscii == 8 Then   keyascii = 0 End Ifsalir:End Sub 

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa