[RESUELTO]De un cuadro de tabla:Imprimir registros filtrados

Discute sobre las herramientas de la base de datos
Responder
Sheridan
Mensajes: 48
Registrado: Lun Abr 22, 2019 8:32 pm

[RESUELTO]De un cuadro de tabla:Imprimir registros filtrados

Mensaje por Sheridan »

Buenas...pues otra vez por aquí.. os planteo la duda:

En un formulario tengo activos hasta 4 listas desplegables que me filtran mi consulta y me muestran los resultados en un cuadro de tabla ..esto funciona genial..Pero..¿Como puedo una vez obtenido los resultados en esta tabla imprimirlos (solo el contenido de la tabla, sin que se vea el resto del formulario ) ?


Los resultados de la tabla son diferentes para cada opción que escojo de las listas desplegables y no me aclaro a hacerlo desde un informe asociado a una consulta ..


Gracias por vuestra ayuda

(Por cierto la base de datos en un estado "alfa" estaba aqui.:
https://forum.openoffice.org/es/forum/v ... 31&t=14368 )
Última edición por Sheridan el Mar Jul 30, 2019 8:11 pm, editado 2 veces en total.
Windows 10 64 bit + OpenOffice 4.1.6 y Deepin 15.10 + Open Office
Longi
Mensajes: 810
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Imprimir los resultados ya buscados de un cuadro de tabl

Mensaje por Longi »

Buenas!
Te he puesto un botón para abrir el informe (por llamarlo de alguna manera) en el formulario Frm_Lentillas.
La macro recoge los valores que hay en tres listbox de tu formulario, a modo de ejemplo, para que manejes los que quieras (si fuesen combobox sería suficiente con el nombre del campo y '.Text'
Después hice una copia de tu consulta Consulta1(exactamente igual: Consulta11), la cual la iremos variando (command) según los valores de los listbox, por lo que te saldría el conjunto de datos filtrados por los mismos valores que tendrías en el formulario, pero recuerda, solo he puesto los tres listBox que me pareció.
Por último hice un informe semiautomático con base en la consulta, con lo que tendrían que salir los datos filtrados en forma de tabla.
Lo hice con ORB de forma rápida, y es una de las cosas que no me gustan de ORB, la manía de las flechitas rojas, ya que no tiene autoaltura. Habría que seguir con la macro para darle un mejor aspecto y eliminar algún campo, pero eso te lo dejo para que vayas 'haciendo manos'.

El mundo de los informes es un poco ingrato, pero con práctica llegas a hacer maravillas (sobre todo con SRB y no tanto con ORB).

Ya nos contarás si te sirvió.

Un saludo! ;)
Adjuntos
Lentillas_Open1.7z
(59 KiB) Descargado 189 veces
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Sheridan
Mensajes: 48
Registrado: Lun Abr 22, 2019 8:32 pm

Re: Imprimir los resultados ya buscados de un cuadro de tabl

Mensaje por Sheridan »

Hola Longi !! Muchas gracias como siempre por tu ayuda ... me vas a matar pero me he confundido de archivo y he adjuntado un enlace al foro de un archivo que no era el adecuado... :shock: <<Pausa para que te acuerdes de mi familia o me hagas vudú , me pongas velas negras..etc.. :crazy: :ucrazy: :ouch:>>
.. Mil Disculpas vuestro tiempo es valioso...lo siento .. bueno... tras rezar 12 avemarias y la flagelación te he vuelto a subir el archivo correcto para que si te apetece me ayudes ...please

Veras que existen varios formularios , en concreto el que me interesa es el : "Frm_BusqPVP" , muestra los resultados de la selección de 4 listas
desplegables :

-Fabricante
-Tipo
-Reemplazo
-Pack

Cuando se seleccionan las opciones correspondientes el cuadro filtra la consulta y ofrece los resultados ...esos resultados son lo que pretendo imprimir.
Gracias otra vez .
Adjuntos
Lentillas Prueba1.7z
(92.16 KiB) Descargado 171 veces
Windows 10 64 bit + OpenOffice 4.1.6 y Deepin 15.10 + Open Office
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Imprimir los resultados ya buscados de un cuadro de tabl

Mensaje por RMG »

Hola,

Cada vez que efectuas un filtrado, la consulta en que se basa el formulario se modifica, por lo que solo debes crear un informe basado en esa consulta. En el adjunto puedes ver como imprimir un informe, o bien como abrir un formulario para imprimirlo, he puesto los dos ejemplos. Por supuesto si eliges el informe te tendrás que crear uno a tu gusto.

Saludos
Adjuntos
Lentillas_Open2.zip
(59.3 KiB) Descargado 192 veces
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Longi
Mensajes: 810
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Imprimir los resultados ya buscados de un cuadro de tabl

Mensaje por Longi »

Buenas!
Perdona que te responda en mis no mejores condiciones, pero es que estoy bastante liado con otro proyecto y no estoy dedicando mucho tiempo al foro.....
La respuesta de RMG es la correcta, pero me encuentro que tu formulario no me filtra absolutamente nada, por lo que o bien debiera revisarlo con más atención o debieras revisar el código del filtrado. (lo he abierto con ApacheOpenOffice y parece que sí que va, así que seguro que es algo que yo hago mal)
La respuesta que te di te puede servir perfectamente de ejemplo de cómo funcionan los listBox y cómo pueden filtrar una consulta/formulario, y que tendría un desarrollo 'algo' diferente del que tienes hecho para el filtrado.
Si te fijas, en el ejemplo que te puse, aunque los informes son horrorosos, sí que los tienes filtrados.
Para una mejor visión del informe, al ser un informe no muy complejo (en realidad es solo una tabla) puedes probar a abrir tu base con Apache OpenOffice y hacer el informe con SRB, donde manejas una tabla de texto con más facilidad, pero ya te digo, el ejemplo que te puse es un ejemplo de funcionamiento que lo puedes aplicar a cualquier grupo de listbox para filtrar los resultados.

Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Sheridan
Mensajes: 48
Registrado: Lun Abr 22, 2019 8:32 pm

Re: Imprimir los resultados ya buscados de un cuadro de tabl

Mensaje por Sheridan »

Saludos RMG y Longi , creo que os he podido liar....a ver , como os indique en el segundo mensaje el archivo con la base de datos correcta es el :

" Lentilla Prueba1 .7z " , NO el que habeis usado "Lentillas Open" o Open2 !!!

Si abrís ese archivo , hay un formulario : "Frm_BusqPVP" en el que veréis que las listas desplegables son las llamadas "F1 , F2,F3 y F4" y al escoger los campos SI se muestran en el cuadro de tabla los resultados (cosa que NO pasaba en el archivo "Lentillas _Open.." porque ese simplemente era un formulario de creación de registros nuevos !! NO era el formulario correcto )..vamos os lo comento porque no me aclaro...he intentado igualmente adaptar la macro de Longi a mi base de datos y la he editado: cambiando los nombres de las listas desplegables por los adecuados, el nombre del formulario , el de la consulta y asociandolo al boton me sigue sin funcionar...

ALgo me estoy dejando ...No llego a mas.., bueno NO tengo prisa y se que vais liados y ahora deberiais estar de vacaciones... a si que a vuestro ritmo ...si podeis mirarmelo esta semana y si no otra..
Windows 10 64 bit + OpenOffice 4.1.6 y Deepin 15.10 + Open Office
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Imprimir los resultados ya buscados de un cuadro de tabl

Mensaje por RMG »

Hola,

Yo si había hecho lo que te he comentado anteriormente en Lentillas prueba2, pero a la hora de adjuntarlo me equivoque y puse Lentillas open. Asi que ahora si te pongo el correcto.
Adjuntos
Lentillas Prueba2.zip
(106.23 KiB) Descargado 183 veces
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Sheridan
Mensajes: 48
Registrado: Lun Abr 22, 2019 8:32 pm

Re: Imprimir los resultados ya buscados de un cuadro de tabl

Mensaje por Sheridan »

Olé !! Ahora sí ,esto esta "casi" perfecto !! ,muchas gracias RMG y Longi.. el "casi" es por dos cosas que he encontrado:

- El informe no muestra los resultados si en lugar de filtrar con los cuadros combinados filtro por los recuadros de "contiene" o "comienza".¿esto porque?
- Y la otra ;el formulario "Frm_BusqPVP_Print" al obtener resultados de una búsqueda con muchos registros solo muestra los de la primera pagina..los otros como sino cupiesen..
Windows 10 64 bit + OpenOffice 4.1.6 y Deepin 15.10 + Open Office
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: De un cuadro de tabla: Imprimir registros ya filtrados

Mensaje por RMG »

Hola,

Respecto al formulario print, efectivamente solo muestra los registros que se muestran en pantalla, por eso el uso de informes para obtener datos de una BD. Te lo puse más que nada para que vieras como se puede imprimir el formulario actual abierto.

Sobre contiene o empieza, decirte que son distintos tipos de filtro que los de los cuadros combinados, estos modifican una consulta y los otros aplican un filtro al formulario, para solucionar esto habrá que estudiar un poco el como solucionarlo. Posiblemente dos botones de imprimir el informe uno para cada tipo de filtrado. Ya lo veré.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: De un cuadro de tabla: Imprimir registros ya filtrados

Mensaje por RMG »

Hola,

Decirte que me he centrado solo en el informe.

A tener en cuenta, cuando filtres por valores numéricos como son los campos radios debes poner todo el valor y además en vez de la coma (,) debes poner el punto (.) como signo decimal.

El informe ahora esta basado en la Consulta2. Esta consulta se carga con los datos de la Consulta1 y además si haces el filtro de los radios, carga también estos valores.

Saludos
Adjuntos
Lentillas Prueba3.zip
(105.74 KiB) Descargado 206 veces
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Sheridan
Mensajes: 48
Registrado: Lun Abr 22, 2019 8:32 pm

Re: De un cuadro de tabla: Imprimir registros ya filtrados

Mensaje por Sheridan »

Hola RMG :bravo: , gracias como siempre por tu tiempo ;
Problema: Al filtrar por lentillas multifocales en uno de los cuadro combinados (Tipo de Lentilla) y escribir las letras "proc" en el recuadro de "contiene" en el cuadro de tabla me aparecen correctamente las "Proclear" ...Pero al apretar al botón de informe me da este error..:

"La consulta con la expresion ' SLECT* FROM "Consulta1" WHERE "nombreLentilla"="proc" no se ha podido ejecutar.
Verifique su fuente de datos."

¿Y a ti te funciona bien ..?
Windows 10 64 bit + OpenOffice 4.1.6 y Deepin 15.10 + Open Office
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: De un cuadro de tabla: Imprimir registros ya filtrados

Mensaje por RMG »

Hola,

El Problema viene por el tipo de campo, ya que este que comentas es texto y los radios son números. Posibles soluciones, cambiar los campos radios a texto, por que supongo que estos son informativos, o sea que no tienes que hacer operaciones matemáticas, o ver la forma de aplicar otro tipo de filtro en función del nombre del campo. Mi propuesta, si como te digo no tienes que hacer operaciones matemáticas es cambiar los radios a VARCHAR.

Ya me dices algo.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: De un cuadro de tabla: Imprimir registros ya filtrados

Mensaje por RMG »

Hola

He estado viendo el tema más detenidamente y he visto que cambiar el tipo de campo es más complicado de lo que parece, pues hay que modificar muchas cosas de la extructura de la BD, por lo que he probado la otra opción y parece que va bien. Pruebala y me lo confirmas.

Debes cambiar esta parte de la macro TeclaPulsada.

Código: Seleccionar todo

If campo = "Contiene" Then
			oFormCtl.Filter = " UPPER(" & valor & ") LIKE " + "UPPER('%" & oTxt & "%')"
			oFormCtl.ApplyFilter = True
			If valor = "NombreLentilla" Then
				sSQL = "SELECT * FROM Consulta1 WHERE "& valor &" LIKE '%"& oTxt &"%'"
			Else
				sSQL = "SELECT * FROM Consulta1 WHERE "& valor &"="& oTxt
			End If
			oConsulta = ThisDatabaseDocument.DataSource.QueryDefinitions.getByName ("Consulta2" )
			oConsulta.Command = sSQL
		End If
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Sheridan
Mensajes: 48
Registrado: Lun Abr 22, 2019 8:32 pm

Re: [RESUELTO]De un cuadro de tabla:Imprimir registros filtr

Mensaje por Sheridan »

Genial !! Muchas Gracias RMG y Longi !!!
Windows 10 64 bit + OpenOffice 4.1.6 y Deepin 15.10 + Open Office
Responder