Access & VBA FAQ
| | | |
Indice de temas
Tablas
Consultas
Formularios
Informes
Macros
Módulos
Base de datos
Miscelánea
API
Utilidades
Problemas
Cadenas
Fechas
Todos los temas
Formularios : OnlyNumbers. Permitir sólo la entrada de números en un cuadro de texto
Autor/es:
Juan M Afán de Ribera
Pregunta : ¿Qué código debería utilizar para que un cuadro de texto sólo permita la entrada de números o el separador de miles o el separador decimal (además del retroceso, el enter y el tabulador, claro)?
Respuesta : Puedes utilizar el siguiente procedimiento y llamarlo desde el evento Al presionar una tecla (KeyPress) del cuadro de texto. Es importante que utilices exactamente ese evento, pues aunque hay otros dos eventos de pulsación de teclas, el efecto no sería el mismo. Para llamarlo lo harías de esta manera
Call OnlyNumbers(KeyAscii)
y este procedimiento lo copias en un módulo estandar
'--------------------------------------------------------
'
' OnlyNumbers
'
' Código escrito originalmente por Juan M Afán de Ribera.
' Estás autorizado a utilizarlo dentro de una aplicación
' siempre que esta nota de autor permanezca inalterada.
' En el caso de querer publicarlo en una página Web,
' por favor, contactar con el autor en
'
'     accessvba@ya.com
'
' Este código se brinda por cortesía de
' Juan M. Afán de Ribera
'
Sub OnlyNumbers(KeyAscii As Integer)
    ' si no es un número entre el 0 y el 9
    ' o es un punto o una coma
    If Not Chr(KeyAscii) Like "[0-9,.]" Then
        Select Case KeyAscii
            ' si es un retroceso, enter o tabulación
            Case vbKeyBack, vbKeyReturn, vbKeyTab
            ' no se hace nada
            Case Else
                ' si no, se anula el caracter
                ' introducido
                KeyAscii = 0
                Beep
        End Select
    End If
End Sub
'---------------------------------------------------------

Ejemplos:

 

Temas relacionados:

OnlyChar. Permitir sólo la entrada de letras en un cuadro de texto

MaxChar. Limitar el número de caracteres

AlphaChar

 

Última actualización: 7/10/2005