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

MaxChar. Limitar el número de caracteres

14 de marzo de 2024 ACCESS, El rincón de Happy, Formularios

Pregunta

¿Hay alguna manera en que pueda limitar el número de caracteres que se puedan introducir en un cuadro de texto de un formulario?

Respuesta

Puedes utilizar una función personalizada para la ocasión. Sólo tienes que asociarla al evento Al cambiar (Change) del cuadro de texto correspondiente. Esta función tiene los siguientes

Argumentos

ArgumentosDescripción
nCharRequerido. El número límite de caracteres que se podrán introducir en el cuadro de texto
MsgOpcional. Un valor de tipo cadena, con el mensaje que se mostrará cada vez que se intente escribir más allá del límite establecido.

Ejemplo de uso

' Asociándolo directamente a la casilla del evento
= MaxChar(15)

' o asociándolo dentro del código del evento
Call MaxChar(15)

Codigo

'---------------------------------------------------------
'
' MaxChar
'
' 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
'
'     accessvbafaq@ya.com
'
' Este código se brinda por cortesía de
' Juan M. Afán de Ribera
'
Public Function MaxChar( _
                        nChar As Long, _
                        Optional Msg As String)
    
    With Screen.ActiveControl
        ' si el número de caracteres supera
        ' el límite impuesto por el usuario
        If Len(.Text) > nChar Then
            ' eliminamos todos los caracteres
            ' que excedan del número
            .Text = Left$(.Text, nChar)
            ' ponemos el cursor al final
            .SelStart = nChar
            ' sonido de alarma
            Beep
            ' si se quiere dar un mensaje...
            If Len(Msg) > 0 Then MsgBox Msg
        End If
    End With
    
End Function
'---------------------------------------------------------

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 – MaxChar. Limitar el número de caracteres (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