Hacer editable un registro según el valor de un campo

Access2007.

Tengo un formulario que una vez se rellene un registro y se chequee un campo de "Registro Finalizado" interesa que ese registro no se pueda cambiar, quede solamente de lectura. Para eso me interesa que cada vez que se pase de un registro a otro compruebe que el campo de finalización esté chequeado o no y si está chequeado el registro ya no se pueda modificar. He intentado hacerlo mediante un cambio en la propiedad PermitirEdiciones relacionado con el evento AlActivarRegistro, pero no consigo que funcione.

Alguien me podría echar una mano?? Antes de nada deciros que estoy bastante pez en la programación y recurro bastante a las macros. Un saludo y muchas gracias.

1 Respuesta

Respuesta
2

Lo que comentas que intentabas hacer es la manera correcta de lograr lo que buscas. Como no sé lo que hiciste ni por qué no te funcionó, te explico los pasos que has de seguir:

1º/ Abre tu formulario en vista diseño, saca sus propiedades con el botón derecho, y en la pestaña Eventos, localiza la fila "Al Activar registro".

2º/ Pulsa en el botón de los 3 puntos que aparece a la derecha de esa fila, y en la ventana emergente selecciona "Generador de Código"

3º/ Se te abrirá el editor de Visual Basic, y te situará el cursor entre las lineas Private Sub Form_Current() y End Sub

4º/ Ahí le pegas este código, suponiendo que tu campo de "Registro Finalizado" se llame así (Propiedades del campo->Pestaña Otras ->Nombre) y sea una casilla de verificación:

If Me.Registro_Finalizado=True Then
Me.AllowEdits=False  ' Con esta linea impides la edición del registro
Else
Me.AllowEdits=True
End If

5º/ Saca las propiedades de tu campo "Registro Finalizado", y en el evento Después de Actualizar, le escribes este otro código:

Private Sub Registro_Finalizado_AfterUpdate()
Call Form_Current
End Sub

Con este paso, al activar la casilla, ya se te bloquea el registro.

Hola Sveinbjorn:

Muchas gracias por tu ayuda. Es más, siguiendo la idea de ese código he podido arreglar otro pequeño problemilla que también me rebullía por la cabeza, así que Dobles Gracias, te debo un café!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas