Buenas tardes, hoy os vengo a indicar/ayudar cómo poder enlazar botones de formularios de OpenOffice Base mediante macros previamente creadas.
Antes de empezar a enlazar, deberemos de tener nuestra base de datos registrada, para verificarlo deberemos ir a la siguiente ruta:
- Herramientas > Opciones > OpenOffice Base > Base de datos
En el caso de no tenerla registrada, tan sólo deberiamos de agregarla, para ello le damos a Nuevo, buscamos nuestra base de datos, su ruta y le damos a aceptar en las dos ventanas.
Ahora procederemos a agregar/crear un modulo, editar una macro y enlazarla en nuestro botón. Seguiremos estos pasos uno a uno:
- Nos vamos a Herramientas > Macros > Organizar Diálogos > Modulos
- En nuestra base de datos, la mia se llama academia.odb, desglosaremos y añadiremos un nuevo diálogo con un nombre, en mi caso Avanzado.
- Cerramos esa ventana una vez creado el modulo y nos vamos a Herramientas > Macros > Organizar Macros > OpenOffice Basic
- Nos vamos a nuestra base de datos, la desglosamos y dentro del dialogo anteriormente creado, nos aparecerá un Module1, lo editamos y añadimos lo siguiente:
REM ***** BASIC ***** Sub alumnosWord() Dim Control as Object Control = ThisDatabaseDocument.CurrentController If ( Not Control.isConnected() ) Then Control.connect() End If Control.loadComponent(com.sun.star.sdb.application.DatabaseObject.QUERY, "Alumnos de Word",FALSE ) End Sub NOTA: las palabras en negrita son las que deberemos de cambiar, AlumnosWord es el nombre del macro que hemos creado, QUERY es el tipo que queremos abrir, en este caso consulta, y Alumnos de Word es el formulario que queremos abrir.
- Guardamos y nos vamos al formulario en donde está el botón que abrirá nuestro otro formulario.
- Hacemos Click derecho sobre el botón, estando en el modo diseño, nos vamos a Campos de Control > Botón del ratón pulsado > pulsamos sobre el botón … > Macro… > Buscamos la ruta donde editamos antes la macro > Aceptar
- Cambiamos la vista del modo diseño y pulsamos sobre el botón, al instante aparece el formulario que hemos enlazado.
NOTA: Si no se ejecuta, puede que tengas que cambiar las opciones de seguridad referentes a las ejecuciones de Macros, para cambiarlas nos vamos a Herramientas > Opciones > OpenOffice > Seguridad > Seguridad de Macros… > Aquí elegimos el nivel Bajo y ya nos debería dejar ejecutar la macro.
Si teneis dudas no dudeis en preguntar!!
Saludos y que paseis un buen día!
hice paso por paso lo que indicas pero me sale el siguiente error….
error en tiempo de ejecución de BASIC
se ha producido una excepción
Type: con.sun.star.container.NoSuchElementException
Message: dia
dia es el nombre del formulario q quiero abrir, te agradecería ayuda!!
Me gustaMe gusta
Buenas tardes Juan,
Prueba con la solución que indican en los comentarios del siguiente enlace https://forum.openoffice.org/es/forum/viewtopic.php?f=50&t=1296
Si sigue sin funcionarte, comprueba que la macro que has definido está correctamente editada y guardada.
Un saludo
Me gustaMe gusta