[RESUELTO] Abrir un informe a partir de un formulario
[RESUELTO] Abrir un informe a partir de un formulario
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!
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
Re: Abrir un informe a partir de un formulario
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.
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)
Re: Abrir un informe a partir de un formulario
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,
¿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
Re: Abrir un informe a partir de un formulario
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
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)
Re: Abrir un informe a partir de un formulario
Fijate en el informe como obtengo los datos con la consulta que hace de filtro, de tu primer ejemplo.
Saludos
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)
Re: Abrir un informe a partir de un formulario
Muchisimas gracias, ya esta solucionado!
LibreOffice Base 2.0 - Windows 7
Re: Abrir un informe a partir de un formulario
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,
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
Re: Abrir un informe a partir de un formulario
Hola,
En este archivo no muestras lo que intentas hacer.
Saludos
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)
Re: Abrir un informe a partir de un formulario
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!
Muchas gracias por la ayuda de antemano!
- Adjuntos
-
- Prueba.7z
- (99.5 KiB) Descargado 208 veces
LibreOffice Base 2.0 - Windows 7
Re: Abrir un informe a partir de un formulario
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)
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!
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'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
Libreoffice 6.4.2, en Windows 10
Re: Abrir un informe a partir de un formulario
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!
Muchas gracias!
LibreOffice Base 2.0 - Windows 7
Re: Abrir un informe a partir de un formulario
Hola,
Como te dice Longi el problemas es de un par de comillas dobles de más. Sentencia corregida.
Saludos
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 & "'"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)
Re: Abrir un informe a partir de un formulario
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!
Muchas gracias por toda vuestra ayuda y siento mi ineptitud
Un saludo!
LibreOffice Base 2.0 - Windows 7
Re: Abrir un informe a partir de un formulario
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
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)
Re: Abrir un informe a partir de un formulario
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!
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
Re: Abrir un informe a partir de un formulario
Solucionado muchas gracias!
LibreOffice Base 2.0 - Windows 7