Cómo bloquear un registro en Access si no se han llenado los campos de los subformularios

Estoy por terminar un proyecto de inventario en Access 2016 y quiero impedir que se guarden los datos en una tabla si no se agrega la información completa en el resto de las tablas relacionadas.

Para esto, hice un formulario "General" con varios subformularios organizados con las pestañas "Detalles", "Ubicación", "Compra", etc.

Lógicamente todos están relacionados por el código del equipo, en cada una de las diferentes tablas. Y las relaciones que son 1 a 1 definí actualizar o eliminar en casacada, según me convenga.

Sin embargo, lo que sucede, es que puedo agregar la información en el formulario "General" y no añadir más datos en los otros subformularios, ocasionando así que no se creen los registros en las demás tablas y luego veo inconsistencias o no encuentro la información en la tabla (porque no se agregó).

Intenté añadir valores por defecto, en caso de que se pase de ellos, pero aún así, no se crea el registro que corresponda. ¿Cómo puedo solucionarlo?

1 respuesta

Respuesta
1

Creo que una forma relativamente sencilla, y sin mucho código, de lograrlo sería ésta:

1º/ Al crear un registro nuevo en tu formulario general, crear por código, un registro nuevo en cada subformulario, asignando el código del equipo actual, para que queden relacionadas.

2º/ En las tablas de las que dependen los subformularios, poner todos los campos que quieras obligar a rellenar como "Requeridos". Esto lo haces en las propiedades del campo, en la vista diseño de la tabla.

Si lo quieres hacer más "complicado", puedes ver cómo hacerlo dentro de este ejemplo, que es perfectamente adaptable a los subformularios (aunque tendrás que crear el registro primero): Campos obligatorios

Un saludo


¡Gracias!

No supe hacer lo que me propones en el no. 1... ¿cómo se hace? Soy de mala, lo que le sigue, en programación... 

Puedes hacerlo de varias formas, por ejemplo:

DoCmd. RunCommand acCmdSaveRecord
Me.NombreSubformulario.Form.NombreCampoForm= Me.NombreCampoSubform
Me.NombreSubformulario. Requery

Las dos últimas lineas las tendrás que repetir por cada subformulario, y tendrás que cambiar lo que está en negrita por loe nombres que tengas, teniendo en cuenta que los nombres de los campos son los que están relacionados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas