Crear subformularios con fuente de datos de otra tabla

En LibreOffice Base (versión 25.2.5.2) Tengo una base de datos con una tabla “Plugins”con 3 campos “Nom” “Marca” “Notes” y otra tabla “Tipus Procès” con un campo “Procès” (donde ya tengo creados 12 registros)

Quiero que cada registro de la tabla “Plugins” pueda asociarse a uno o varios registros de la tabla “Tipus Procès” Para ello he hecho lo siguiente:

La tabla llamada “Plugins” tiene un campo clave “ID_Plugin” y dos campos de texto “Nom”, “Marca” y “Notes”

Otra tabla llamada “Tipus Procès” tiene un campo clave “ID_Procès” y un campo de texto “Procès”

Otra tabla llamada “Plugins_Tipus Procès” tiene un campo clave “ID_Plugins” y otro campo clave “ID-Procès”

Las relaciones son: “ID_Plugins” de la tabla “Plugins” conectado con “ID_Plugins” de la tabla “Plugins_Tipus Procès” y “ID_Procès” de la tabla “Plugins_Tipus Procès” conectado con “ID_Procès” de la tabla “Tipus Procès”

Como puedo hacer un formulario con la tabla “Plugins” y que contenga un subformulario con la tabla “Tipus Procès” donde aparezcan los 12 registro creados y pueda escoger uno o varios para el registro actual de la tabla “Plugins”?

Podrías probar crear un subformulario vinculado a la tabla intermedia.

Tu base contienen las tablas Plugins con ID_Plugin, Nom, Marca, Notes, Tipus Procès con ID_Procès , Procès y Plugins_Tipus Procès con ID_Plugin , ID_Procès

Estas tablas estan relacionadas Plugins.ID_PluginPlugins_Tipus Procès.ID_Plugin y Tipus Procès.ID_ProcèsPlugins_Tipus Procès.ID_Procès

Primero crea un formulario maestro (Plugins)

En el Diseñador de formularios, selecciona como origen de los datos la tabla Plugins, a continuación inserta los controles de texto para Nom, Marca, Notes, guarda ese formulario por ejemplo como frmPlugins.

Ahora crea el subformulario, insertando un subformulario dentro del formulario de Plugins, como contenido del subformulario, selecciona la tabla Plugins_Tipus Procès, con las propiedades pulsando subformulario → pestaña Datos, configurando: Enlace maestro: ID_Plugin (de Plugins) y Enlace detalle: ID_Plugin (de Plugins_Tipus Procès) de esta manera el subformulario debería mostrar solo los procesos asociados al plugin actual.

Dado que la tabla Plugins_Tipus Procès solo guarda ID_Procès, sería necesario usar un cuadro combinado (combobox): para ello inserta un cuadro combinado en el subformulario, pulsando propiedades → pestaña Datos:

Contenido de la lista: SQL

 SELECT "Procès", "ID_Procès" FROM "Tipus Procès" ORDER BY "Procès"

Contenido del cuadro combinado: ID_Procès (campo de la tabla intermedia).

Campo de valor vinculado: 2 (la segunda columna: ID_Procès).

Así, en el subformulario vas a ver el nombre del proceso y al mismo tiempo guardar el ID correcto en la tabla intermedia.

Hecho esto al abrír el formulario frmPlugins, navegas por un plugin, en el subformulario ves todas las filas de la tabla intermedia (los procesos asociados), puedes agregar filas nuevas seleccionando un proceso desde la lista desplegable → automáticamente se guarda en Plugins_Tipus Procès vinculado al plugin actual.

Esto te permitiría asignar uno o varios procesos a cada plugin.

Muchas gracias, ha sido una buena ayuda!