Access - Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

 
Vista:
Imágen de perfil de Maikel

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Maikel (9 intervenciones) el 17/09/2016 00:24:13
Buenas noches,

Haber si alguien puede hacharme una mano con este tema.
Trabajó con acces 2010. Tengo un formulario con dos subformularios continuos vinculados. El principal contiene clientes. Él subformulariso1 contiene diferentes direcciones por cada cliente y funciona perfectamente y puedo navegar y agregar nuevos registros sin problemas. El subformulario2 contiene contactos de cada dirección pero no consigo vincular cada dirección con varios contactos de forma que cuando cambie de registro en el subformulario1 muestre solo los contactos de ese registro y pueda añadirlos o modificarlos. Como puedo hacerlo? Gracias de antemano. La verdad estoy bastante desesperado.

Tabla cliente: idcliente, cliente
Tabla direcciones: idcliente, idcentro, centro relacionado con tabla clientes
Tabla contactos: idcentro, idcontacto, contacto relacionado con tabla direcciones

Las relaciones exigen integridad referencial de uno a varios.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Maikel

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Maikel (9 intervenciones) el 18/09/2016 22:42:44
Nadie sabe cómo puedo solucionarlo? Agradecería mucho algún comentario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Jesús Manuel (375 intervenciones) el 19/09/2016 09:48:30
En principio, esto lo puede hacer Access si creas el formulario con el asistente para formularios, agregas los campos de las 3 tablas y le indicas que quieres formulario con subformularios y ver los datos a partir de la tabla clientes



Si has insertado un subformulario, en Propiedades/Datos tienes dos campos: vincular campos principales(VCP) y vincular campos secundarios (VCS).

Para el subformulario 1 tendrías que tener como VCP idcliente de la tabla clientes y como VCS idcliente de la tabla direcciones

Para el subformulario 2 tendrías que tener como VCP [nombredelsubformulario1].Form![idcentro] y como VCS idcentro de la tabla contactos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Maikel

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Maikel (9 intervenciones) el 19/09/2016 21:14:25
Gracias por tu respuesta Jesus Manuel, pero no es eso exactamente lo que busco. Él subformulario2 ha de mostrar los resultados vinculados a cada registro idcentro. Lo que tú expones es como yo lo hice, pero de esa manera muestra los resultados de cada idcliente por tanto si un cliente tiene varios centros muestra todos los registros de todos los centros y no únicamente de cada centro en cuestión.

A ver si se te ocurre algo... He pensado en poner algún tipo de filtro al pasar de un registro a otro en el subformulario1, pero no sé cómo hacerlo.

Gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Jesús Manuel (375 intervenciones) el 20/09/2016 09:02:07
Antes de poner el código hice un ejemplo simple y cada vez que seleccionaba un centro, se actualizaba el subformulario de contactos para mostrar solo los correspondientes al centro seleccionado o para insertar un nuevo contacto ya vinculado al centro seleccionado, creo que es lo que tu estas buscando.

Lo cierto es que yo hice el ejemplo con el asistente para formularios y revisando el código de la base, que aún estaba por la papelera, veo que tiene el siguiente código en el evento "Al activar registro" del subformulario direcciones:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Form_Current()
    Dim ParentDocName As String
 
    On Error Resume Next
    ParentDocName = Me.Parent.Name
 
    If Err <> 0 Then
        GoTo Form_Current_Exit
    Else
        On Error GoTo Form_Current_Err
        Me.Parent![SubformularioContactos].Requery 'Adapta aquí el nombre de tu subformulari
    End If
 
Form_Current_Exit:
    Exit Sub
 
Form_Current_Err:
    MsgBox Error$
    Resume Form_Current_Exit
End Sub


Probando, vi que la primera vez que pinchaba en un registro del subformulario direcciones, no se actualizaba el de contactos, por lo que puse el siguiente código en el evento clic del subformulario direcciones:
Call Form_Current
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Miguel (9 intervenciones) el 21/09/2016 00:12:54
Hola de nuevo Jesús Manuel,

He probado lo que me comentas, pero no doy con la solución. Podrías enviarme el ejemplo de base de datos que hiciste para ver que estoy haciendo mal?. Gracias de nuevo por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Maikel

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Maikel (9 intervenciones) el 21/09/2016 07:57:26
Hola de nuevo Jesus Manuel. Finalmente he dado con la tecla gracias a tus comentarios.
Muchas gracias per tu inestimable ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Paco (1 intervención) el 14/09/2017 09:29:06
Sería bueno, que al igual que otros ayudan, pusieras como lo solucionaste, así también ayudas a otros con el mismo problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Anonimo (3322 intervenciones) el 15/09/2017 08:43:36
Hay metodos mas sencillos (y que continuan 'la logica automatizada' de Access):

El proyecto:
Un formulario principal con dos (o mas) subformularios

Dependencias:
El subformulario_1 esta enlazado al principal
El subformulario_2 se necesita que se 'vincule' al subformulario_1 (como si se tratase de su subformulario) sin serlo a efectos fisicos pues ambos son a todos los efectos 'hermanos' al estar al mismo nivel con respecto al formulario principal.

Access solo permite enlazar los subformularios a objetos suyos, por lo que el subformulario_2 carece de referente para enlazarse (su referente es un campo en el subformulario_1)

Solucion:
.- Creamos en el principal un cuadro de texto INDEPENDIENTE (le llamaremos 'ENLACE' o como al programador le guste)
.- Como origen de datos le asignamos EL CAMPO del subformulario_1 que necesitmos para hacer de referente al subformulario_2
--- (se apreciara que si lo dejamos visible, su contenido varia siguiendo el ritmo del subformulario_1)

Ya disponemos el campo en el formulario principal contra el que el subformulario_2 puede crear el enlace y que respondera a los cambios del subformulario_1 (su supuesto hermano que mas bien se le podria considerar un primo suyo)

Nota:
siguiendo esa 'logica' podremos crear tantos 'puentes' como necesitemos para presentar datos desglosados en diferentes subformularios y todos con 'sincronia automatica'.

En fin que todo se basa en crear un simple y comun campo independiente en el principal para 'hacer de puente' con los datos referentes, del resto ya se encarga Access y sin necesitar ni una linea de codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 2
Ha aumentado su posición en 18 puestos en Access (en relación al último mes)
Gráfica de Access

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Joshua (1 intervención) el 11/07/2019 20:15:47
Hola,

Tu solución me parece muy elegante y sencilla pero no logro enlazar el 2 Subformulario (primo) al Formulario principal como tu lo comentas.

1)Procedi a crear en mi formulario principal Analisis_Riesgo el cuadro de texto independiente (CAMPO "Enlace") donde se vincula al primer Subformulario ya insertado Enlace=[Hecho_Riesgos].[Formulario]![Id_Riesgo]
1

2)Al momento de insertar el segundo subformulario en el principal, no detecta ni me permite seleccionar el CAMPO Enlace.
2

Esta es la estructura de mis datos
3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Anonimo (3322 intervenciones) el 12/07/2019 01:17:23
El asistente tiene sus limitaciones, esta diseñado para utilizar solo el origen de datos (son datos que siempre estarán), utilizar el teclado y poner los nombres adecuados en los apartados del subformulario:

Propiedades del subformulario ==> pestaña DATOS ==> Vincular campos principales / vincular datos secundarios.

Si se llenan de forma correcta los datos se obtendrá la vinculación deseada …. por cierto el campo 'enlace' (visible en tiempo de diseño) puede ocultarse en tiempo de ejecución (tamaño cero e invisible), pero es opcional el dejarlo visible (al final dado que ni es manipulable ni tiene otro fin, visible: aburre y consume espacio en la pantalla para hacer … exactamente lo mismo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha disminuido su posición en 16 puestos en Access (en relación al último mes)
Gráfica de Access

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Jose (2 intervenciones) el 11/09/2019 23:04:43
Pues la verdad sí es elegante y funcional la solución. A mí me funciona estupendamente. No sin antes darle un montón de vueltas a cómo "llenar los campos de forma correcta", al final se trata sólo de llamarlo por su nombre en Vincular campos principales a tu "ENLACE" y yo escribiendo la dirección de este en el formulario oportuno.. Gracias por el aporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vincular subformulario continuo a otro subformulario continuó vinculado a un formulario principal

Publicado por Juan Ma (1 intervención) el 06/01/2024 14:32:23
Excelente solución, mis felicitaciones! Me sirivió y de mucho!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar