¿Cómo crear varios subformularios por cada valor seleccionado en un formulario anterior?

En primer lugar tengo un formulario (V_3) en el que hay un cuadro de lista de selección multiple en el que se muestra los nombres de unos miRNAs. En este mismo formulario hay un botón macro que lleva a un segundo formulario (V_4)

Se quiere que, en el segundo formulario (V_4), se creen tantos subformularios como valores de miRNA se hayan selecionado en el cuadro de lista. Para cada uno de estos valores se hará una consulta y se mostrará el resultado en cada subformulario.

P.D: Si se puede hacer de otra manera que no sea usando el cuadro de lista o el macro, se acepta. Lo importante es conseguir el objetivo de hacer una consulta para cada miRNA seleccionado

1 respuesta

Respuesta
1

No estás recibiendo respuesta, entiendo yo, por varios motivos:

El primero: los subformularios no surgen de la nada. Tienes que haberlos creado antes. Y también tienes que haberlos añadido al formulario. Si el cuadro de lista te puede devolver múltiples valores deberías construir tantos subformularios como máximo de valores creas que puedan seleccionarse. Eso es una locura por el factor de aleatoriedad. (Realizar este proceso automáticamente con código en tiempo de ejecución sería casi de proyecto de fin de carrera).

El segundo: suponiendo que tuvieras esos subformularios hechos y bien colocaditos en tu formulario se deberían crear las consultas (también sujetas a la aleatoriedad de no saber cuántos valores seleccionados hay en la lista) que constituirían el origen de dichos subformularios.

En definitiva, que, dentro de unos márgenes, lo que pides es posible, pero requiere bastante tiempo de programación. Tiempo del que lamentablemente no se dispone (o, al menos, yo no dispongo).

Si te interesa profundizar en el tema de los campos multivalor puedes echar un vistazo a este ejemplo, que no hace lo que pides, por supuesto, pero que te permitirá ver la "problemática" de trabajar con este tipo de campos: http://bit.ly/1QdzrQk

Un saludo,

Hola

En primer lugar muchas gracias por contestar.

Le he estado haciendo unas modificaciones al planteamiento inicial, pero sigo con problemas. La situación es la siguiente:

Desde el formulario V_3 quiero pasar los  los elementos seleccionados  (nombres de los miRNAs) al formulario V_4. Una vez que tengo en el formulario V_4 los elementos seleccionados, se hará una consulta en la que se seleccionen las tuplas cuyo nombre sea igual a los nombres seleccionados.

Para pasar los elementos seleccionados uso el siguiente código:

For Each ElementoSeleccionado In Me.lstMirna.ItemsSelected

mirna = Me.listaMirna.ItemData(ElementoSeleccionado)
DoCmd.OpenForm "V_4", , , , acFormEdit, acDialog, mirna

Next

Sin embargo esto lo que me hace es pasarmelos uno a uno haciendo cada vez una consulta. Yo lo que quiero es que haya una consulta única tanto si se ha seleccionado solo 1 miRNA como si se han seleccionado 8 miRNAs.

Creo que este planteamiento es más sencillo que el que tenia incialmente. Si supiese como ayudarme se lo agradeceria enormemente.

P.D: insisto, mi objetivo es permitir al usuario seleccionar unos valores y hacer una consulta con estos, si hay otra posibilidad que no se me haya ocurrido estoy abierta a ella

Un saludo

Hay varias combinaciones de estructuras que pueden reflejar lo que estás diciendo, y cada una tendría una solución.

Para saber cuál estás utilizando tú necesitaría que me pasaras una mini-BD con solo los elementos implicados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas