[RESUELTO] Crear Consulta por codigo

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO] Crear Consulta por codigo

Notapor RASAPA » Dom Ago 30, 2015 6:45 pm

Buenos dias,

He encontrado esta macro para crear consultas en linea, pero me da un error en su ejecucion.

Código: Seleccionar todo   Expandir vistaContraer vista
Sub CrearConsulta()
Dim dbContexte As Object, maSource As Object,lesQueries As Object, descrQuery As Object, dbDoc As Object
Const nomQuery = "ConsultaAutomatica"
sSQL="SELECT Num,Nom,Direc FROM tblclientes WHERE ID=26"
dbContexte = CreateUnoService("com.sun.star.sdb.DatabaseContext")
maSource = dbContexte.getByName("MIBASEDEDATOS")
lesQueries = maSource.QueryDefinitions
if not lesQueries.hasByName(nomQuery) then
   descrQuery = lesQueries.createInstance
   descrQuery.Command =sSQL
   lesQueries.insertByName(nomQuery, descrQuery)
   dbDoc = maSource.DatabaseDocument
   dbDoc.store           ' guardar la consulta en el fichero.odb
   MsgBox("Consulta guardada : " & nomQuery)
else
   MsgBox("Esta consulta ya existet - No es posible crear la Consulta", 16)
endif
End Sub


El error lo da en la linea dbDoc.store

Method: store invocation exception.
Error Message:
Problems on commit!


La consulta se crea, lo veo por el observador dentro de LesQueries, pero no aparece donde estan las demas consultas.
Cuando pido el informe sobre esta consulta me da error de consulta no encontrada.
Si guardo la Base manualmente y la vuelvo a abrir, la consulta no aparece.
Al dar el error en la linea de - dbDoc.store -, supongo que no se guarda.

Decirles que utilizo LibreOffice 4.4.5.2 con linux Mint y la base esta conectada a Mysql mediante ODBC.

Agradeceria cualquier ayuda, como mi Base tiene muchas consultas y no para de crecer, habia pensado de en vez de guardar las consultas hechas, no hacerlo y crearla cuando sea necesaria en linea, para luego borrarla inmediatamente.Pero me he quedado atrancado

Saludos y muchas gracias.
Ramon
Última edición por RASAPA el Jue Dic 10, 2015 8:18 pm, editado 1 vez en total
LibreOffice 5.2.6.2
Linux Mint 17.3
RASAPA
 
Mensajes: 222
Registrado: Mar Mar 16, 2010 10:41 pm

Re: Crear Consulta por codigo

Notapor mauricio » Jue Sep 03, 2015 12:01 am

RASAPA escribió:Decirles que utilizo LibreOffice 4.4.5.2 con linux Mint y la base esta conectada a Mysql mediante ODBC.

El commit se ejecuta cuando intenta guardar, lo cual esta rechazando, lo cual me suena a un problema de permisos...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 6081
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Crear Consulta por codigo

Notapor mauricio » Jue Sep 03, 2015 1:19 am

Efectivamente, creo que es un problema de permisos...
Screenshot.png

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 6081
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Crear Consulta por codigo

Notapor RASAPA » Sab Sep 05, 2015 12:29 pm

Buenos dias,
Puede ser algun problema de seguridad, pero no sé cual.
Provando veo que:
Provado con base de datos ODB funciona tanto en linux como en Windows
Provado con base de datos conectado a Mysql mediante ODBC funciona en Windows
Provado con base de datos conectada a Mysql mediante ODBC NO FUNCIONA EN LINUX MINT 1.7

Al abrir la base veo las tablas, creo registros nuevos, borro............, todo funciona, por lo que interpreto que tengo los permisos, hasta lo he provado con el usuario 'root' y tampoco funciona.

Será algun fallo de LibreOffice?

Saludos
Ramon
LibreOffice 5.2.6.2
Linux Mint 17.3
RASAPA
 
Mensajes: 222
Registrado: Mar Mar 16, 2010 10:41 pm

Re: Crear Consulta por codigo

Notapor mauricio » Sab Sep 05, 2015 2:46 pm

Tengo casi la misma configuración que tu en mi portátil y funciona correctamente:
Min 17.2, LibO 4.4.3.2, MySQL 5.6

eso si, estoy conectado directamente, usa la siguiente extensión:
Código: Seleccionar todo   Expandir vistaContraer vista
sudo apt-get install libreoffice-mysql-connector

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 6081
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Crear Consulta por codigo

Notapor RASAPA » Jue Dic 10, 2015 8:18 pm

Como siempre Mauricio tenia razon, era problema de los permisos.

Saludos
Ramon
LibreOffice 5.2.6.2
Linux Mint 17.3
RASAPA
 
Mensajes: 222
Registrado: Mar Mar 16, 2010 10:41 pm


Volver a Macros y API UNO

¿Quién está conectado?

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