Como puedo imprimir los datos filtrados de un formulario con campo de lista de selección múltiple, que arroja estos en un subfor

He construido una BD, la cual contiene un formulario, con campos anidados y cuadro de lista de múltiple selección gracias a un magnífico aporte de Jacinto Trillo, que me filtra en un subformulario los seleccionados en el cuadro de lista, para realizar DoCmd. OpenReport, he creado un informe desde formulario, pero cuando llamó al subformulario solo me arroja la primera fila de lo filtrado, he realizado una consulta desde formulario y me ocurre lo mismo, no sé cómo llamar a los ítems seleccionados para que me arrojé, todas las filas seleciinados, si alguien me puede dar luz a esto le estaría muy agradecido.

1 respuesta

Respuesta
2

José: Como suele decirse, "por alusiones", me gustaría darte alguna pista pero no acabo de entender la situación.

Voy a partir de que tienes un Form Principal, y un SubFormulario

El SubFormulario no tiene Vínculos con el Principal y muestra 0 registros, 10 o 100 Regidtros, que cumplan unas condiciones de Filtrado., que están en Controles de Formulario Principal.

Si eso es así has de aplicar el mismo filtro al Informe que le estás aplicando al SubFormulario.

Si no es así me comentas, y veo si sé ayudarte. Un saludo >> Jacinto

Muchas Gracias Jacinto por tu ayuda, el caso es el mismo que en tu ejemplo BuscaCboBoxLBox, lo que pretendo es crear un botón que imprime los datos filtrados a través del Formulario y los que aparecen en el SubForm, una vez ejecutado mediante el boton Buscar del filtrotrotal. Espero haberme explicado, Gracias de nuevo.

José: Dado que ya tienes la base del ejemplo que te facilité, te vuelvo a subir el mismo, con el complemento del Informe, a la espera que sea lo que necesitas.

Quizá es mejor que cargar de texto éste post sin saber si acertamos.

http://www.mediafire.com/file/5iuccg3f4sjqkom/BuscarTBoxCboBoxLBoxJHin.rar 

Ya me contarás. Un saludo >> Jacinto

Hola Jacinto es eso lo que necesitaba hacer con el botón, pero he estado probando y algo no hago bien, serias tan amable de explicarme el proceso, te cuento, imagínate que en tu ejemplo, en el formulario con el campo País y Empresa, he realizado unos campos calculados, entonces he realizado un informe con esos datos incluyendo el Campo País , el campo empresa y los calculados, estos en el informe los tengo como origen de control, [Formularios]![inventario_Tipo]![CboPais] y así con el resto de campos, en este informe le he añadido el Sub_Informe, que es el que no me muestra los datosfiltrados, agrad zoco tu paciencia y comprensión. Muchas Gracias.

José: La verdad es que puedo hacerme una idea, pero lo que no entiendo es lo que comentas de "campos calculados" en Pais y Empresa. Si además lo junto con lo de un Subinforme se complica un poco para acertar con alguna respuesta. Tal vez si pones una imagen en vista de diseño de ese Informe y SubInforme con algún comentario sobre los controles, me de una pista para intentar de nuevo ayudarte. Un saludo >> Jacinto

Gracias Jacinto por tu amabilidad, he adaptado tu ejemplo para mi necesidad, no obstante cuando abro tu BD me sale el siguiente error.

le doy a finalizar y funciona correctamente

yo lo que intentaba hacer es los siguiente:

Anque por lo que veo deberé solucionarlo

Muchas gracias por tu inestimable ayuda.

Gracias Jacinto por tu amabilidad, he adaptado tu ejemplo para mi necesidad, no obstante cuando abro tu BD me sale el siguiente error.

le doy a finalizar y funciona correctamente

yo lo que intentaba hacer es los siguiente:

Anque por lo que veo deberé solucionarlo

Muchas gracias por tu inestimable ayuda.

José: Ciertamente me había dejado una línea de código improcedente en el Fichero que he puesto en Mediafire.

El nuevo enlace es:

http://www.mediafire.com/file/hm4nb5bng08wpq0/BuscarTBoxCboBoxLBoxJHin.rar 

Lo que sigo sin ver es la razón de tu informe, donde insertas mi modelo como SubInforme.

Mi pregunta:

¿Qué razon tienes para abrir un Informe, con unas Opciones de Filtrado que ya tienes en el Formulario?

El Informe lo lanzas directo desde el Formulario. Un saludo >> Jacinto

Muchas gracias, por tu pronta respuesta, realmente en mi Bd, los datos del formulario, no son los mismos que me arrojan los del subformulario, y además en este tengo campos calculados , de sumatoria de campos filtrados. Haré Una prueba como te he comentado sin sub informe, también me puede valer.

Muchas gracias de nuevo.

Discúlpame Jacinto pero no soy muy ducho en esto de Vba, estoy trabajando en Mi BD, y al adaptar tu ejemplo me da el siguiente error, algo estoy haciendo mal. El módulo del proyectoMdlGralYVariables hay que llamarle desde algún sitio?.Los que he añadido a los módulos actuales es.

Muchas gracias y te pido disculpas por mi inexperiencia.

En el Informe:
Private Sub Report_Open(Cancel As Integer)
Me.RecordSource = OrigenDatosIforme_Scc
End Sub
En formulario:
Private Sub BtnBuscador_Click()
Me.BuscadorSubForm.Form.RecordSource = "SELECT * FROM INVENTARIO_LONG " & FiltroTotal
'Requery del SubForm
Me.BuscadorSubForm.Requery
'Capturo el Origen de Datos del Informe
OrigenDatosInforme_Scc = Me.BuscadorSubForm.Form.RecordSource
End Sub
En Botón Limpiar filtro
Private Sub BtnLimpiaFiltros_Click()
Dim IntLinea As Integer
'Limpiamos los Controles
Me.CboLin = ""
Me.CboS = ""
Me.CC_P_S_C = " "
Me.CU = " "
'Desseleccionar cada Item en ListaSegmento >> Es Multiselección.
For IntLinea = 0 To Me.ListaSegmento.ListCount - 1
Me.ListaSegmento.Selected(IntLinea) = False
Next
Me.BuscadorSubForm.Form.RecordSource = "SELECT [NUM_SEG] FROM INVENTARIO_LONG;"
'Capturo el Origen de Datos del Informe
OrigenDatosInforme_Scc = Me.BuscadorSubForm.Form.RecordSource
End Sub
En Botón Imprimir:
Private Sub BtnImprimir_Click()
DoCmd.OpenReport "Informe_Scc", acViewPreview
End Sub

E

José: Como desconozco tus objetos, tendría que identificarlos en su entorno de Código que tu pones.

A mi modo de ver si no estás muy versado en VBA, quizá hubiera sido adecudado que no Cambiaras el Nombre del Informe, ni de la Variable que sirve de puente para su origen de datos.

NO obstante te comento que al Módulo >> MdlGralYVariables no has de llamarlo, lo que si usas es la variable >>OrigenDatosRptSobreSubForm que hay en el y que veo le has cambiado el Nombre a >> OrigenDatosIForms_Scc (tus motivos tendrás porque podías conservar la que había). No siendo así has de declarar la Nueva variable que usas en el Módulo donde está la Otra >> Osea

Public OrigenDatosIForms_Scc As String

Declarala y ves si se te arregla el Problema >> Un salud >> Jacinto

¡Gracias! Jacinto probaré lo que me dices, quizás no comprenda todavía muy bien la,programación, entendía es que RptSobreSubForm hacía referencia al nombre del Informe.

Muchas gracias por tu paciencia y por tu empeño en enseñar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas