Ejecutar función cada cierto tiempo al abrir formulario

Discute sobre las herramientas de la base de datos

Ejecutar función cada cierto tiempo al abrir formulario

Notapor maxinz87 » Lun Ago 13, 2018 10:00 pm

Hola, soy nuevo en el mundo de LibreOffice Base, y debido a que se está empezando a utilizar cada vez mas en mi lugar de trabajo tengo la idea de crear una base de datos con formularios en donde se carguen registros, pero a la vez quiero crear un formulario en el cual, al abrirlo, se ejecute una consulta filtrada cada cierto tiempo (cada 15 segundos, por ejemplo) con el objetivo de que se actualice el listado del formulario automáticamente para verificar si hay registros nuevos. Es posible realizar algo así con Base? o tal vez debería realizar esto con algún lenguaje de programación específico. Aclaro que tengo ciertos conocimientos en Programación pero obté por utilizar Base para crear Formularios por que me parecia una manera un poco mas rápida de crear un sistema de base de datos aprovechando que Base está instalado en todas las terminales de mi lugar de trabajo.
OpenOffice 3.1 en Ubuntu 9.04
maxinz87
 
Mensajes: 6
Registrado: Lun Ago 13, 2018 9:49 pm

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor RMG » Mar Ago 14, 2018 10:00 am

Hola,

Pienso que sí es posible. Con un bucle que ejecute la consulta cada cierto tiempo que tu le indiques.

La instrucción Wait es un controlador de tiempo de una milesima de segundo, quiere decir que si pones Wait 1000 ejecuta una espera de un segundo, a partir de ahí puedes hacer lo que consideres.

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

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor maxinz87 » Mar Ago 14, 2018 3:35 pm

Muchas gracias por el consejo, voy a probar esto y les haré saber a que resultados he llegado.
OpenOffice 3.1 en Ubuntu 9.04
maxinz87
 
Mensajes: 6
Registrado: Lun Ago 13, 2018 9:49 pm

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor Longi » Mié Ago 15, 2018 10:49 am

Buenas!
No creo que sea una buena opción según me la imagino.
Supondría una macro constantemente activa y con interferencias en otras o en el funcionamiento del propio formulario.
Pienso que es mejor un botón que actualice el formulario o bien una macro que actualice el formulario al salir de algún conyrol en concreto.
Un saludo ! ;)
Openoffice 4.1.5, en Windows 10
Openoffice 4.1.3, en Windows 7
Libreoffice 6.0, en Windows 10
Longi
 
Mensajes: 425
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor maxinz87 » Mié Nov 28, 2018 11:48 pm

Hola, vuelvo a retomar parte del tema ya que había dejado el proyecto en stand by. Quisiera saber en dónde inserto una macro para que, al abrir un formulario, se ejecute. Es decir, al abrir un formulario se ejecute una macro automáticamente. Estuve buscando por internet pero no di con la respuesta. saludos!
OpenOffice 3.1 en Ubuntu 9.04
maxinz87
 
Mensajes: 6
Registrado: Lun Ago 13, 2018 9:49 pm

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor Longi » Jue Nov 29, 2018 12:44 pm

Te insisto en lo mismo, creo que no es una buena idea.

Hubo un usuario que le puso un reloj a un formulario (loop cada 1000 milésimas de segundo), y aparentemente funcionaba bien, hasta que empezó a dar interferencias con otras macros y hubo que quitarlo.
También tienes el ejemplo de los cuadros de diálogo: mientras se está ejecutando uno (mientras no está cerrado) se paralizan el resto de macros.
De todos modos, si estoy equivocado estaría encantado de aprender.

Otro saludo! ;)
Openoffice 4.1.5, en Windows 10
Openoffice 4.1.3, en Windows 7
Libreoffice 6.0, en Windows 10
Longi
 
Mensajes: 425
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor RMG » Jue Nov 29, 2018 1:44 pm

Hola,

Como bien te dice Longi si es algo que incide directamente al formulario como es un reloj, vas a tener algún problema. Si es algo interno que no repercute sobre el mismo creo que no pasa nada, tambien tienes la posibilidad de poner un contador y después de cierta cantidad de ejecuciones que se pare.

La macro la puedes poner al acontecimiento al cargar del formulario, y que se pare si no pones contador en documento va a ser cerrado.

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

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor maxinz87 » Jue Nov 29, 2018 2:13 pm

De antemano les agradezco sus respuestas. Si, desistí de ejecutar la macro cíclicamente, la cuestión ahora es que quiero ejecutar una macro en un formulario específico al iniciarlo, pero no encuentro el evento correcto. Probé el evento "al cargar" dentro de los acontecimientos del formulario, también probé con el evento "iniciar la aplicación" dentro de los eventos personalizados, pero no funciona. Estoy probando con un MsgBox en una macro para ver si lo ejecuta y no pasa nada.
OpenOffice 3.1 en Ubuntu 9.04
maxinz87
 
Mensajes: 6
Registrado: Lun Ago 13, 2018 9:49 pm

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor mauricio » Jue Nov 29, 2018 3:40 pm

Con Python y usando hilos, es perfectamente factible tener un timer detrás, ejecutándose cada que uno quiera.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 6.0.7 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5657
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor RMG » Jue Nov 29, 2018 5:08 pm

Hola,

Algo no haces bien, en el acontecimiento al cargar, un simple msgbox o print te tiene que funcionar.

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

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor maxinz87 » Jue Nov 29, 2018 10:28 pm

RMG, encontré lo que estaba causando que la macro no se ejecute al abrir el formulario. En la pestaña "datos" del formulario, "contenidos" tiene que tener alguna tabla seleccionada en caso que "tipo de contenido" sea tabla, o bien si es "Consulta" en el campo contenidos tiene que tener seleccinado "Concatenar campos de una tabla". De lo contrario el formulario no lanzará ninguna macro automáticamente
OpenOffice 3.1 en Ubuntu 9.04
maxinz87
 
Mensajes: 6
Registrado: Lun Ago 13, 2018 9:49 pm

Re: Ejecutar función cada cierto tiempo al abrir formulario

Notapor RMG » Vie Nov 30, 2018 10:26 am

Sí así es, siempre hay que asignarle una tabla, aunque solo sea un formulario para controles.

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


Volver a Base

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados