Vamos a ver hoy cómo permitir la introducción solo de letras en una campo de nuestro formulario de Microsoft Access usando VBA.
Esto es útil, por ejemplo, en campos donde queremos introducir nombres, apellidos, profesiones, categorías... y no queremos que exista la posibilidad de introducir números o cualquier otro carácter que no sea una letra. De esta manera, podemos minimizar el número de errores en los datos de entrada al rellenar los formularios.
En el archivo que adjunto a modo de ejemplo, tenemos un formulario para introducir datos personales. Entre otros, tenemos los campos "Nombre" y "Apellidos". La idea es bloquear la introducción de números en estos campos y solo introducir letras usando VBA.

A continuación, os dejo el código que deberemos introducir en el evento "Al presionar una tecla" tanto en el campo "Nombre" como en el campo "Apellidos". Si os fijáis, están hecho de forma distinta, pero con idéntico resultado.
Private Sub Nombre_KeyPress(KeyAscii As Integer)
'Solo dejamos introducir números
If InStr("0123456789" & Chr(8), Chr(KeyAscii)) = 0 Then
Else
KeyAscii = 0
End If
End Sub
Private Sub Apellidos_KeyPress(KeyAscii As Integer)
'Solo dejamos introducir números
If InStr("ABCDEFGHIJKLMNÑOPQRSTUVWXYZ " & Chr(8), Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub
Para el campo "Nombre", definimos en el comando IF qué caracteres NO QUEREMOS que se puedan introducir en el campo. Mientras que para el campo "Apellidos", definimos qué caracteres SI PUEDEN ser introducidos.

Espero que con este ejemplo hayas aprendido a permitir introducir solo letras en el campo de un formulario usando VBA. Esto te ayudará a minimizar errores en la introducción de datos.
Un saludo y hasta la próxima.
Descarga el archivo del ejemplo
Por favor, ayúdame y haz clic en el anuncio 😉
Quizá te interese,
0 comentarios