OnlyChar. Permitir sólo la entrada de letras en un cuadro de texto
Pregunta
¿Qué código debería utilizar para que un cuadro de texto sólo permita la entrada de letras mayúsculas o minúsculas (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
Call OnlyChar(KeyAscii)
Codigo
'--------------------------------------------------------
'
' OnlyChar
'
' 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 OnlyChar(KeyAscii As Integer)
' si no es una letra entre la A y la Z
' en mayúscula o minúscula
On Error Resume Next
If Not Chr(KeyAscii) Like "[A-Za-zÀ-Üà-ü]" 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
'---------------------------------------------------------
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 – OnlyChar. Permitir sólo la entrada de letras en un cuadro de texto (archive.org)
Gracias a Emilio Sancha por las correcciones sobre la admisión de caracteres acentuados y caracteres como la Ñ o la Ç.
Pregunta Sé cómo imprimir un informe mediante código y sé cómo hacer para que aparezca el cuadro de diálogo imprimir,…
Cómo conseguir en un informe calcular sólo el total para cada página