Access - Vincular cuadro de lista con un subformulario

 
Vista:
sin imagen de perfil

Vincular cuadro de lista con un subformulario

Publicado por joaquin (4 intervenciones) el 05/11/2015 20:31:13
Buenas tardes,

tengo algún problema en la BBDD pero este en especial no me deja avanzar el desarrollo.
La BBDD tiene cierto tamaño ya pero vamos al punto que me tiene bloqueado.
Estoy dentro de un subformulario.
Ya he relacionado un cuadro de lista correctamente con un valor de dicho formulario mediante un select en Visual Basic.
Ahora tengo que añadir un nuevo subformulario pero tengo que vincularlo con el valor seleccionado en dicho cuadro de lista y el formulario solo me deja vincularlo con los valores del subformulario y no con los del cuadro de lista.

Añado una imagen para explicar mejor. Esta el subformulario módulo. He vinculado mediante un cuadro de lista el cristal con el módulo. Ahora necesito relacionar el hardware con el cristal seleccionado en el cuadro de lista, pero el subformulario sólo me deja vincularlo con el módulo. La tabla hardware no está relacionada con el módulo. LA relación es 1 módulo puede tener varios cristales y un cristal puede tener varios hardwares.

Imagino que habrá que relacionarlo otra vez mediante visual basic pero no se por donde empezar.
Muchas gracias.

Un cordial saludo.
Joaquín Cortés Paulino.
Prueba
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
sin imagen de perfil

Vincular cuadro de lista con un subformulario

Publicado por Enrique Heliodoro (1664 intervenciones) el 05/11/2015 21:21:19
No veo claro ese entorno, pero ... hay diferentes caminos para vincular datos.
Uno de ellos consiste en crear un cuadro de texto en el formulario principal (se le puede ocultar), como origen de datos el objeto que tiene el valor referente (creo que es 'el cristal' ).
En definitiva, el campo que se desea utilizar para vincular tiene que 'reflejarse' en el principal.

Ya tenemos el dato que se utilizara para vincular en el formulario principal (se acabaron los problemas).
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

Vincular cuadro de lista con un subformulario

Publicado por joaquin (4 intervenciones) el 05/11/2015 21:54:56
Muchas gracias Enrique.

Voy a intentarlo.
Creo que solo necesito hacer una consulta para coger el valor del cristal y no la descripción y después asignarlo al cuadro de texto..

Un saludo.

Perdón por modificación, pero no me deja vincular el cuadro de texto con el cuadro de texto. Al darle al vinculador de datos sigue apareciendo solo los valores de la tabla del módulo.

Un nuevo saludo.
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

Vincular cuadro de lista con un subformulario

Publicado por Enrique Heliodoro (1664 intervenciones) el 05/11/2015 22:29:42
Normalmente los subformularios se pueden relacionar (vincular) con cualquier objeto de su Parent (formulario del que es un objeto) con la única condición de que ambos datos sean del mismo tipo.

El 'truco' de utilizar un objeto independiente que refleje el valor de otro objeto, suele ser clave al relacionar dos subformularios del mismo formulario padre y es aplicable a cualquier otro objeto 'relacionable'.

Revisa lo que has creado y sobre todo que no te confunda el que 'ese objeto puente' no aparezca como posible opción, simplemente utilízalo (le habrás puesto un nombre, supongo).
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

Vincular cuadro de lista con un subformulario

Publicado por joaquin (4 intervenciones) el 06/11/2015 17:24:39
Buenas,
sigo dandole vueltas y no lo consigo.

el cuadro de lista está generado con está expresión:
Me.listaCristales.RowSource = "SELECT VOIP_CRISTAL.Num_Cristal, VOIP_CRISTAL.Descripcion FROM VOIP_CRISTAL INNER JOIN VOIP_MODULO ON VOIP_MODULO.Num_Modulo=VOIP_CRISTAL.Num_Modulo where VOIP_MODULO.Num_Modulo = '" & Me.Num_Modulo.Value & "';"

Necesito que el subformulario hardware esté relacionado con ese cuadro de lista;
Esta es la consulta que tengo para el subformulario:
SELECT VOIP_HARDWARE.Tipo, VOIP_HARDWARE.Placa, VOIP_HARDWARE.Switch, VOIP_HARDWARE.Puerto, VOIP_HARDWARE.MAC, VOIP_HARDWARE.IP, VOIP_HARDWARE.Comentario, VOIP_HARDWARE.Instalado, VOIP_HARDWARE.Num_Cristal FROM VOIP_HARDWARE;

El cuadro de lista de cristales se llama listaCristales y necesito relacionar el valor Num_Cristal de ese cuadro de lista con el Num_Cristal de la tabla voip_hardware, pero con el valor clickado del cuadro de lista porque tendrá varios cristales entre los que seleccionar.
Es que no consigo alcanzar el valor Num_Cristal de listaCristales.

No sé si me explique mejor ahora.

Quizá así te valga mejor para guiarme, es que estoy cerrado y no avanzo.

Muchas gracias.
Un saludo.
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

Vincular cuadro de lista con un subformulario

Publicado por Enrique Heliodoro (1664 intervenciones) el 07/11/2015 14:13:08
Dado que es una opción un tanto especifica, en mi opinión es mejor que publiques una versión reducida de tu trabajo que el que yo (o los que participen con sus ideas) 'idealice' una situación empírica y no se llegue a ninguna parte.
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

Vincular cuadro de lista con un subformulario

Publicado por joaquin (4 intervenciones) el 07/11/2015 16:13:01
Buenas,

Adjunto un versión reducida de la BBDD. He eliminado varios elementos y da numerosos errores hasta abrirla pero al final se puede.
En la pestaña Voz IP está.
He dejado los datos que tengo de prueba.
Como verás al seleccionar la pestaña voz ip sale el módulo con los cristales de cada módulo. En el cuadro de lista se puede elegir uno de los cristales del módulo. Al elegir dicho cristal quiero que se quede solo el hardware de dicho cristal.

Es lo que tiene estar parado, estuve de baja de abril hasta octubre y estoy completamente atascado y sin inspiración.

Un cordial saludo.
Muchas gracias.
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

Vincular cuadro de lista con un subformulario

Publicado por Enrique Heliodoro (1664 intervenciones) el 07/11/2015 21:05:12
Creo que esa enfermedad ha tenido 'efectos secundarios' (un poco de 'sordera').

Es mas sencillo aun de lo comentado antes.....

En el cuadro de lista, la columna predeterminada es el código de relación entre tablas (el numero de cristal)
En el subformulario existe el código de todos los cristales (bueno, los que permita su origen de datos ya que esta condicionado).

¿Qué problema existe en hacer lo que se tiene que hacer y antes se indico:
Se selecciona el contenedor del subformulario, entre las propiedades que aparecen en su pestaña 'Datos' nos interesan las que se titulan 'vincular campos principales' y su equivalente en el subformulario

en campos del principal:==> el nombre del cuadro de lista ==> listaCristales
en campos del secundario: ==> el nombre del ID relacionado ==> Num_Cristal

Como comentario anexo, los asistentes son 'criados tontos' que solo saben lo poco que les enseñan (el resto lo ponen los programadores) y los programadores que son consecuentes aprenden investigando 'como funcionan las cosas' el resto no son mas que simples 'pica-teclas' que con suerte aprenden de oído si lo tienen bien afinado.
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