Como puedo bloquear un registro en access

Como puedo bloquear los registros ya capturados en un formulario y subformulario, ¿para qué no se cambien los datos de forma accidental al revisar los registros?

1 Respuesta

Respuesta
2

Tienes múltiples opciones:

1º/Forma más sencilla: Un formulario para añadir datos, en el que le pones su propiedad "Entrada de datos" en Sí (de esta forma sólo te deja añadir registros, no consultar los existentes) y otro formulario igual para consultar, en el que le pones sus propiedades "Entrada de datos","Permitir añadir","permitir editar" y "permitir eliminar" en No.

2º/ Otra forma fácil: un único formulario que abras en modo lectura o escritura según quieras añadir o consultar registros. Lo puedes hacer con macros o con código VBA, de ambas formas necesitarás tener dos botones para abrir el formulario desde otro, uno para cada opción.

Para abrir por código un formulario en modo sólo lectura, sería:

DoCmd. OpenForm "NombreFormulario",,,, acFormReadOnly

Para que se abra para añadir:

DoCmd. OpenForm "NombreFormulario",,,, acFormAdd

Y si quieres poder añadir y editar:

DoCmd. OpenForm "NombreFormulario",,,, acFormEdit

3º/ Otra forma con un único formulario. En el evento "Al activar registro" del formulario le generas este código:

If Me.NewRecord Then

Me.AllowEdits=True

Else

Me.AllowEdits=False

End If

Un saludo.


¡Gracias! Muchas gracias por tus opiniones, las voy a probar a ver cual me queda mejor.  Saludos.!!

Hola otra vez SVEINBJORN EL ROJO, la opción que dejé fue usar un formulario y seleccionar que quiero hacer y funciona muy bien. Probé la opción 3 también y si funciona, pero mi formulario principal llevar 4 subformularios en Tabs o folders y ahí no me funionó muy bien, ¿no se si hay que aclarar en el código que los subformularios también se deban de poder editar? ¿Tu qué opinas? Gracias por anticipado.

Siguiendo con la tercera opción:

If Me.NewRecord Then

Me.AllowEdits=True

Me.NombreSubformulario1.Form.AllowEdits=True  

Me.NombreSubformulario2.Form.AllowEdits=True  

Else

Me.AllowEdits=False

Me.NombreSubformulario1.Form.AllowEdits=False

Me.NombreSubformulario2.Form.AllowEdits=False

End If

Es decir, añades tantas líneas como subformularios tengas.

Siguiendo con la opción 3:

If Me.NewRecord Then

Me.AllowEdits=True

Me.NombreSubformulario1.Form.AllowEdits=True

Me.NombreSubformulario2.Form.AllowEdits=True

Else

Me.AllowEdits=False

Me.NombreSubformulario1.Form.AllowEdits=False

Me.NombreSubformulario2.Form.AllowEdits=False

End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas