¿Como enlazar 3 Hojas de datos Access 2013 en un formulario?

Tengo 3 tablas relacionadas entre si maestro-detalle en 3 niveles, A->B->C y quiero crear un formulario que contenga las 3 tablas en controles hoja de datos, pero relacionados entre si.

De forma que cuando seleccione una fila en A el control hoja de datos de B se filtre por el campo relacionado de A y B.

Y lo mismo para B y C.

Hasta ahora he creado un formulario hoja de datos A, y he incluido en el un subformulario hoja de datos con B y lo mismo en B con un subformulario hoja de datos C.

El problema es que salen en formato hoja de datos los formularios B y C pero el A sale en modo de un solo registro y no cuando le digo que salga en modo hoja de datos, solo sale el A.

También he probado a crear un formulario vacío y añadir 3 subformularios en hoja de datos con cada una de las tablas, pero no me permite relacionar los subformularios entre si.

¿Alguna ayuda de como hacer esto?

1 respuesta

Respuesta

En lugar de tener como formulario principal a A, crea un formulario en blanco sin origen de datos y en él pones el form A y el B con C.

Crea un campo de texto en el form principal y haz que quede vinculado con el subform A y también con el campo de enlace del B.

Si te falla o la explicación es demasiado pobre, dame algo más de información y te lo contesto esta noche, me pillas en el trabajo y voy de memoria.

Antes de nada Muchas Gracias Tomas Eroles, por tu respuesta. 

Te cuento.

He usado un formulario que ya tenía creado, que no tiene origen de datos y en el tenía incrustados 3 subformularios, que cada uno se basa en una de las tablas y es formato hoja de datos.

El caso es que he creado el campo de texto tal como me indicas y le he dado el siguiente origen =[TABLA_A].[Formulario]![ID_TABLA_A], pero no se muy bien como enlazarlo ese campo con el subform B, por que el subformulario B me dice que "No se puede generar un vinculo entre formularios independientes"

Adjunto imagen de la idea final. 

No se si te llegó mi respuesta antes. ¿Podrías confirmarlo?

Perdona, me llegó pero no he tenido tiempo hasta ahora. Voy a echar un ojo y te digo algo.

Otra vez

Veamos. Cuando haces este tipo de formularios tienes que indicar a Access como enlazar los datos. Para hacerlo tienes que rellenar los campos de la pestaña de datos del objeto subformulario. Los dos campos son Vincular campos principal y Vincular campos secundario.

Los dos campos tienen que estar rellenados.

Cuando hay un formulario principal y un secundario es fácil, el problema viene cuando hay dos formularios al mismo nivel que son subformularios de uno que no tiene origen de datos.

Para poder enlazarlo yo uso siempre un campo de texto como puente.

Pongamos que tu formulario principal es FormMain, y los dos subforms son SubForm1 y SubForm2.

Lo que quieres es que al seleccionar algo en SubForm1 se filtren los datos de SubForm2 de modo que aparezcan sólo los relacionados.

Crea un campo de texto, por ejemplo CampoTexto.

En CampoTexto pones: =SubForm1.Form1CampoClave

De este modo sea cual sea el registro que tengas seleccionado en SubForm1, CampoTexto tendrá siempre un valor.

Ahora vas a SubForm2 y en Vincular campo principal pones CampoTexto, y en secundario Form2CampoClave.

Prueba adaptando a tu ejemplo y me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas