Formularios : MaxChar. Limitar el número de caracteres
|
Autor/es: Juan M Afán de Ribera |
| 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 | Argumento | Descripción | | nChar | Requerido. El número límite de caracteres que se podrán introducir en el cuadro de texto | | Msg | Opcional. 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)
|
| puedes copiar este código en un módulo estandar |
'---------------------------------------------------------
'
' 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
'---------------------------------------------------------
|
Ejemplos: |
Temas relacionados: OnlyNumbers. Permitir sólo la entrada de números en un cuadro de texto OnlyChar. Permitir sólo la entrada de letras en un cuadro de texto AlphaChar |