Grabar dato desde formulario evitando redundancia

Hola, buenas.

Nueva pregunta.

Tengo dos tablas. EXPEDIENTE-SANCIONADOR y RESOLUCION.

A partir de un expediente sancionador se pueden hacer varias resoluciones.

EXPEDIENTE-SANCIONADOR tiene como campos: (ID_Expediente (PK), Ejercicio (dato para poner el año), Numero_Expediente, único)

RESOLUCION tiene su ID_Resolucion, su ID_Expediente (que viene de EXPEDIENTE-SANCIONADOR) y su Número de Expediente correspondiente (también viene de EXPEDIENTE-SANCIONADOR, y por tanto también único).

Mi problema es que en el formulario RESOLUCION yo podría quitar la lista de selección de ID_Expediente. (Es redundante, debería poderse sacar a partir del EXPEDIENTE-SANCIONADOR)

¿Cómo podría hacerlo, para que al grabar la RESOLUCION, no tenga que poner el ID_Expediente en el formulario?

Saludos y muchas gracias.
Salvador.

EXPEDIENTES-SANCIONADORES.odb

He hecho un Minumun Working Example.

Si no estoy equivocado necesitas una tabla nueva en la que guardar pares de ID_expediente ID_resolucion así tendrás la relación entre los expedientes y las resoluciones pudiendo relacionar una resolución con varios expedientes, y un expediente con su resolución.

Hola. Ahora mismo no estoy delante del ordenador. Pero creo que me he explicado mal. Cada Exp-San tiene varias resoluciones asociadas. Pero cada Resolución solo tiene un Exp-San. O sea es relación 1 a N. ID-expediente es FK en Resolución. (Numera el registro, digamos). Pero mi problema es Num-expediente. Que también es único, que en realidad podría valer como PK también. Necesito (no sé si se puede, yo no sé) que al grabar una nueva resolución asociada al Exp-San se pueda grabar (sin tener que meterlo explícitamente en tabla Resolución, se puede mirar el formulario) su ID-EXPEDIENTE, porque sería redundante. Con una consulta se puede sacar, pero no sé cómo se puede grabar ese dato automáticamente (disquete de abajo) usando el formulario Resolución sin usar el control de lista de ID-expediente. No sé nada de macros, tampoco sé si se podría hacer con triggers, (tampoco se usarlos) pero no he visto ningún ejemplo en Internet. No sé si me explico. Saludos y gracias.

A unas malas me han dicho que lo usé, pero no sería elegante. La consulta sería (no puedo ponerla correcta ahora, los nombres se ponen con comillas y acorto los nombres) select exp-san.id_exp from Exp-San, resolución where Exp-San.id_exp = Res.id_exp and Exp-San.num-exp = Res.num-exp
El resultado de dicha consulta es lo que habría que poner al grabar una nueva resolución en el campo ID-expediente. Yo puedo ponerlo en el control de lista, como se ve en formulario Resolución, pero se supone que con esa consulta se puede sacar. Lo que no se es grabarlo.
Saludos de nuevo. Salvador.

El esquema relacional de EXP-SAN es EXP-SAN(ID-Exp (PK), Ejercicio,Num-expediente). El de RESOLUCION es RESOLUCION(ID_Resolucion, ID-Expediente, Num-expediente (este último tal vez pudiera quitarse)). En el formulario EXP-SAN tiene los tres controles (uno por cada dato). En el formulario se tiene el control autoincremental de ID_Resolucion y para elegir qué EXP-SAN le corresponde a la nueva resolución que se está creando lo suyo es elegir el num-expediente, porque el usuario no tiene porqué saber el número de ID_expediente que se le ha asignado a la resolución.

Yo lo que veo es que la tabla RESOLUCION está mal diseñada (según las reglas de diseño de bases de datos), el campo Numero_Expediente no debe estar en la tabla RESOLUCION si lo puedes obtener de la tabla EXPEDIENTE-SANCIONADOR por medio de la relación de los campos ID_Expediente.
También creo que está mal diseñado el formulario EXPEDIENTE-SANCIONADOR, porque en las propiedades del subformulario SubForm, en la pestaña Datos, tanto en la propiedad Enlazar campos maestros como en Enlazar campos subordinados debería aparecer “ID_Expediente”, que es el campo que une las dos tablas. Si corriges esto, al añadir un registro en el subformulario, se rellena automáticamente el ID_Expediente, que creo que es lo que querías hacer.
Para hacer un campo de búsqueda de expediente y que en un subformulario aparezcan las resoluciones, quizá te interese leer el apartado “Formularios principales y subformularios” del “Capítulo 4, Formularios”, de la Guía de Base que está publicado en la siguiente dirección: https://documentation.libreoffice.org/es/documentacion-en-espanol/base/