[RESUELTO] Abrir un informe a partir de un formulario

Discute sobre las herramientas de la base de datos
Responder
Melon_96
Mensajes: 9
Registrado: Jue Nov 21, 2019 8:09 am

[RESUELTO] Abrir un informe a partir de un formulario

Mensaje por Melon_96 »

Muy buenas a todos,
Muchas gracias a todos porque soy nuevo en el mundo de las bases de datos y de LibreOffice Base y me habeis ayudado mucho. Sin embargo estoy ahora mismo en un punto muerto.

Lo que estoy intentando es crear un formulario donde aparezca un desplegable con diferentes materiales y una vez elegido el material y pinchando en el botón del formulario Informe del Material, abrir un informe donde están todos los datos que quiero buscar de ese material.

He desarrollado una macro en VBA para hacer eso, sin embargo, la macro me abre el informe pero no me aparece información en el informe. Me sale en blanco. Os adjunto la base de datos en la que estoy trabajando para ver si alguien puede darme algún indicativo sobre lo que esta fallando en mi programa.

Muchas gracias a todos de antemano!
Adjuntos
Prueba.zip
(121.19 KiB) Descargado 263 veces
Última edición por Melon_96 el Vie Nov 22, 2019 2:18 pm, editado 4 veces en total.
LibreOffice Base 2.0 - Windows 7
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Abrir un informe a partir de un formulario

Mensaje por RMG »

Hola,

Te falla la selección del SELECT de la consulta, pides que seleccione solo IDMaterial cuando debes decirle que seleccione los campos necesarios, o en su defecto todos con un "*". Cambia IDMaterial por *. Otra posibilidad sin cambiar esto, es crear otra consulta para el informe, donde relaciones la tabla de los datos con esta consulta que hace de filtro.

Saludos

NOTA: El lenguaje no es VBA, es simplemente Basic.
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)
Melon_96
Mensajes: 9
Registrado: Jue Nov 21, 2019 8:09 am

Re: Abrir un informe a partir de un formulario

Mensaje por Melon_96 »

Gracias por la respuesta, he cambiado SELECT IDMaterial por todos los campos necesarios que tengo introducidos en la consulta. Sin embargo, cuando ejecuto el botón me sigue saliendo el informe en blanco. Sin ningún dato en él.

¿Podría estar el problema en la consulta? Porque en criterio escribo :Material y al ejecutar el botón se borra el criterio.

Adjunto la nueva BD modificada.

Muchisimas gracias de antemano,
Adjuntos
Prueba.7z
(89.64 KiB) Descargado 206 veces
LibreOffice Base 2.0 - Windows 7
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Abrir un informe a partir de un formulario

Mensaje por RMG »

Hola,

Debes diferenciar los datos que capturas, en este caso es texto (string) en el criterio tú pones número entero (int). Mira como debe quedar la selección. Fijate que el texto va entre comilla simple.

oConsulta.Command = " SELECT Proceso.Material, Proceso.Proceso, Seguridad.Frases_H, Seguridad.Frases_P, Seguridad.CMR FROM Seguridad, Proceso WHERE Seguridad.Material = Proceso.IDMaterial AND Proceso.Material = '" & oCampoID.BoundField.String &"'"

Con la primera selección que tenias, te he dicho que puedes utilizar esta consulta como filtro y te evitas seleccionar tantos campos en la macro.

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: Abrir un informe a partir de un formulario

Mensaje por RMG »

Fijate en el informe como obtengo los datos con la consulta que hace de filtro, de tu primer ejemplo.

Saludos
Adjuntos
Prueba - copia.7z
(84.28 KiB) Descargado 264 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)
Melon_96
Mensajes: 9
Registrado: Jue Nov 21, 2019 8:09 am

Re: Abrir un informe a partir de un formulario

Mensaje por Melon_96 »

Muchisimas gracias, ya esta solucionado!
LibreOffice Base 2.0 - Windows 7
Melon_96
Mensajes: 9
Registrado: Jue Nov 21, 2019 8:09 am

Re: Abrir un informe a partir de un formulario

Mensaje por Melon_96 »

Muy buenas otra vez, siento ser pesado, pero pensé que con la anterior respuesta ya tenia todo solucionado.

Lo que estoy intentando hacer ahora es unir que introduciendo en el formulario un material y una fecha específica, el informe me genere la respuesta sobre el material introducido en la fecha que seleccionamos. Sin embargo, cuando añado en AND en la macro y ejecuto me marca que me sobra un ". Pero por mas que cambio, no consigo eliminar ese " que me sobra, aunque seguramente sea otra cosa.

Podríais ayudarme por favor? Os adjunto otra vez el archivo para que podáis verlo.

Muchisimas gracias de antemano,
Adjuntos
Prueba.7z
(89.64 KiB) Descargado 188 veces
LibreOffice Base 2.0 - Windows 7
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Abrir un informe a partir de un formulario

Mensaje por RMG »

Hola,

En este archivo no muestras lo que intentas hacer.

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)
Melon_96
Mensajes: 9
Registrado: Jue Nov 21, 2019 8:09 am

Re: Abrir un informe a partir de un formulario

Mensaje por Melon_96 »

Perdón, me confundí de archivo. Aquí adjunto la BD con el problema del que hablaba en el anterior mensaje. Al añadir otra condición a la macro que me abre el informe consulta de seguridad me da un error de SQL. Me marca que me sobra un " pero no encuentro el que es.

Muchas gracias por la ayuda de antemano!
Adjuntos
Prueba.7z
(99.5 KiB) Descargado 208 veces
LibreOffice Base 2.0 - Windows 7
Longi
Mensajes: 810
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Abrir un informe a partir de un formulario

Mensaje por Longi »

Buenas!

Perdón por meterme en medio!
Abre la consulta en modo SQL, y la substituyes por esto (que es básicamente lo mismo, pero sobraba una comilla como avisaba el programa)

Código: Seleccionar todo

SELECT "Proceso"."Material", "Proceso"."Proceso", "Seguridad"."Frases_H", "Seguridad"."Frases_P", "Seguridad"."CMR", "Proceso"."Fecha_de_Actualización" FROM "Seguridad", "Proceso" WHERE "Seguridad"."Material" = "Proceso"."IDMaterial" AND "Proceso"."Material" = 'SCOTCH-WELD EC2216 B/A' AND "Proceso"."Fecha_de_Actualización" = '2019-11-13'
Con eso debiera valer.
El aspecto del informe es, para mi gusto muy deficiente, pero en cuanto a formatos de informes tendríamos mucho de qué hablar.

un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Melon_96
Mensajes: 9
Registrado: Jue Nov 21, 2019 8:09 am

Re: Abrir un informe a partir de un formulario

Mensaje por Melon_96 »

Gracias por tu rápida respuesta, pero el problema viene en la macro asociada a esa tarea. La macro se llama FiltrarMaterial, ahí es donde quiero automatizarlo y obtengo el error de ".

Muchas gracias!
LibreOffice Base 2.0 - Windows 7
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Abrir un informe a partir de un formulario

Mensaje por RMG »

Hola,

Como te dice Longi el problemas es de un par de comillas dobles de más. Sentencia corregida.

Código: Seleccionar todo

oConsulta.Command =" SELECT Proceso.Material, Proceso.Proceso, Seguridad.Frases_H, Seguridad.Frases_P, Seguridad.CMR, Proceso.Fecha_de_Actualización FROM Seguridad, Proceso WHERE Seguridad.Material = Proceso.IDMaterial AND Proceso.Material = '"& oCampoID.BoundField.String &  "' AND Proceso.Fecha_de_Actualización =  '" & oFecha.BoundField.String & "'"
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)
Melon_96
Mensajes: 9
Registrado: Jue Nov 21, 2019 8:09 am

Re: Abrir un informe a partir de un formulario

Mensaje por Melon_96 »

Muy buenas! Gracias por tu respuesta, el problema que salta ahora es: variable de objeto no definida.

Muchas gracias por toda vuestra ayuda y siento mi ineptitud

Un saludo!
LibreOffice Base 2.0 - Windows 7
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Abrir un informe a partir de un formulario

Mensaje por RMG »

Hola,

En la BD de muestra que has enviado, si cambias esta linea de la macro funciona correctamente, revisa si estas con otra BD, o si has hecho modificaciones.

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)
Melon_96
Mensajes: 9
Registrado: Jue Nov 21, 2019 8:09 am

Re: Abrir un informe a partir de un formulario

Mensaje por Melon_96 »

Si, es la misma BD, no he cambiado nada. ¿Puede ser algo que tenga diferente de configuraciones o formato de base?

Os adjunto el archivo otra vez a ver si a vosotros no os da ese error.

Muchas gracias!
Adjuntos
Prueba.7z
(99.13 KiB) Descargado 276 veces
LibreOffice Base 2.0 - Windows 7
Melon_96
Mensajes: 9
Registrado: Jue Nov 21, 2019 8:09 am

Re: Abrir un informe a partir de un formulario

Mensaje por Melon_96 »

Solucionado muchas gracias!
LibreOffice Base 2.0 - Windows 7
Responder