Access - Cantidad e caracteres en campo MEMO

 
Vista:
sin imagen de perfil
Val: 20
Ha aumentado su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

Cantidad e caracteres en campo MEMO

Publicado por Francisco (16 intervenciones) el 19/09/2021 10:35:41
Hola, tengo in textbox asociado a un campo tipo MEMO, y querria saber cuantos caracteres contiene el textbox para que no se pase de una cantidad mayor de 270 caracteres. He intentad en el evento KEYDOWN y BEFOREUPDATE y no funciona

Private Sub COMENTARIO1_BeforeUpdate(Cancel As Integer)
If Len(Me.COMENTARIO1.Text) > 260 Then
MsgBox "MENOS DE 260 CARACTERES"
Exit Sub
End If
end sub

Private Sub COMENTARIO1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
If Len(Me.COMENTARIO1.Text) > 260 Then
MsgBox "NO PUEDE HABER LAS DE 260 CAREACTERES"
Exit Sub
End If
End Sub

En la propiedad comportamiento de la tecla entrar le tengo puesto predeterminado

Alguien me puede ayudar?, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cantidad e caracteres en campo MEMO

Publicado por Anonimo (3316 intervenciones) el 19/09/2021 13:39:01
Un campo de tipo Memo -a partir de A'2013 texto largo- es un elemento extraño en una base de datos, a todos los efectos es similar a un enlace a la ubicación real de los datos y por ello no admite algunas propiedades.

Un campo de tipo texto -a partir de A'2013 texto corto- admite una longitud de 254 caracteres, si esa pequeña diferencia (6 caracteres) no es un muro infranqueable, seria la solución idónea.

Una posible alternativa seria transcribir ese texto -según se va tecleando- en una variable de texto sobre la que si se podrá tener un mayor control y tras validar el contenido, copiarlo a su destino (el campo memo o texto largo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de miguel
Val: 501
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Cantidad e caracteres en campo MEMO

Publicado por miguel (306 intervenciones) el 19/09/2021 13:44:34
supongo que diras que no funciona porque aunque el codigo que has puesto controla la longitud y te da el mensaje a pesar de ello graba lo que escribas y es que no basta controlarlo y que te avise tambien hay que evitar que guarde los datos y acces graba automaticamente el campo.
cuando le controles la longitud tienes que decirle que haga algo para no grabar el dato, por ejemplo, decirle que borre el contenido o que vaya a un campo anterior para que vuelva a pedir el valor del campo.
te adjunto un ejemplo que he hecho con una tabla de dos campos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Samuel
Val: 62
Ha disminuido su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

Cantidad e caracteres en campo MEMO

Publicado por Samuel (43 intervenciones) el 29/09/2021 10:00:01
Hola Francisco

Lo que tendrías que hacer es lo siguiente:

Private Sub txtTextoCorto_KeyPress(KeyAscii As Integer)
If (Not (Len(Me.txtTextoCorto.Text) <= 9)) Then
Select Case KeyAscii
Case vbKeyBack
Case Else
KeyAscii = Empty
Beep
End Select
End If
End Sub

NOTA: El valor tiene que ser uno menos al limite deseado, en tu caso seria 259.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar