No permitir la edición de un campo en el formulario Access

Cómo puede no permitir la edición de algunos campos del formulario. En este caso no me sirve la propiedad en el formulario, porque esta aplica para todos los campo, yo sólo necesito aplicar esta propiedad a un par de ellos.

1 Respuesta

Respuesta
1

Sacas las propiedades del campo y te vas a la pestaña Datos -> Bloqueado, y le sitúas la propiedad en SI.

Lo siento. No me explique bien. La idea es que se me permita capturar los datos, pero al pasar a un nuevo registro y regresar al que ya había capturado, entonces allí no permita la edición, pero sólo de algunos campos, no de todo el formulario.

Disculpa por no haber sido claro, se me olvido poner este detalle.

SALUDOS

En tu formulario, ¿tienes algún campo Id o campo que sea de entrada obligatoria? Si lo tienes, ¿cómo se llama ese campo?

Ya me dirás.

HOLA NECKKITO

Muchas gracias por tu pronta respuesta.

Si tengo un campo de carácter obligatorio, es de tipo de autonumérico y se llama "REGISTRO".

BUEN FIN DE SEMANA

Vamos a suponer que si el campo REGISTRO no tiene aún valor es porque se va a dar de alta un registro, mientras que si ya tiene valor es que hablamos de un registro cuyos datos ya se han cumplimentado. ¿OK?

Imaginemos que los campos [Campo1] y [Campo5] son los que quieres bloquear.

Lo que tienes que hacer es lo siguiente:

1.- Pon tu formulario en vista diseño

2.- Sacas sus propiedades y te vas a la pestaña Eventos -> Al activar registro, y ahí le generas el siguiente código:

...

Private Sub...
'Miramos si el campo [REGISTRO] tiene valor o no
If isnull(me.REGISTRO.Value) then
'Si no tiene valor nos aseguramos que los campos "conflictivos"
'están desbloqueados
With me
.[Campo1].Locked = False
.[Campo5].Locked = False
End with
Else
'Si tiene valor bloqueamos los campos "conflictivos"
With me
.[Campo1].Locked = True
.[Campo5].Locked = True
End with
End If
End Sub

...

Ya me dirás qué tal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas