Juanjo Luna

MVP Microsoft 365 Apps & Services 2023

LinkedIn Learning Instructor

Presidente de Access User Groups España

CEO Luna-Soft

Desarrollador

Consultor Informático

Juanjo Luna

MVP Microsoft 365 Apps & Services 2023

LinkedIn Learning Instructor

Presidente de Access User Groups España

CEO Luna-Soft

Desarrollador

Consultor Informático

Blog Post

AlphaChar

Pregunta

¿Qué código debería utilizar para que un cuadro de texto sólo permita la entrada de caracteres alfanuméricos, es decir letras y números (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 llamar al procedimiento, lo harías de esta manera.

Ejemplo de uso

Call AlphaChar(KeyAscii)

y este procedimiento lo copias en un módulo estandar.

Codigo

'--------------------------------------------------------
'
' AlphaChar
'
' 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 AlphaChar(KeyAscii As Integer)
    
    On Error Resume Next
    ' si no es una letra entre la A y la Z
    ' en mayúscula o minúscula
    If Not Chr(KeyAscii) Like "[A-Za-z]" Then
        ' si no es un número
        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 If
End Sub
'---------------------------------------------------------

Créditos

con el fin de dar a conocer el trabajo de uno de los más grandes en el mundo de Access en español, y tras solicitar su permiso, replico este artículo de Juan M Afán de Ribera. Todos los derechos y autoría corresponden a él. Access & VBA FAQ – AlphaChar (archive.org)

Taggs:
Related Posts
Opciones de impresión a través de código

Pregunta Sé cómo imprimir un informe mediante código y sé cómo hacer para que aparezca el cuadro de diálogo imprimir,…

Totales por página

Cómo conseguir en un informe calcular sólo el total para cada página

Write a comment