Bonjour,
Apso est installé et je l' utilise pour développer le script.
Lorsque je lance le script avec la ligne suivante:
rslts = statement.execute(rqt)
la réponse est
true
si je remplace la ligne citée par:
executeQuery(rqt),
le message d' erreur est:
TYPE is not supported! /home/buildslave/source/libo-core/stoc/source/typeconv/convert.cxx:442 (Error during invoking function ParcourirTable in module vnd.sun.star.tdoc:/41003416/Scripts/python/Bibliothèque1/Module1.py (<class 'ooo_script_framework.com.sun.star.script.CannotConvertException'>: TYPE is not supported! /home/buildslave/source/libo-core/stoc/source/typeconv/convert.cxx:442
File "/opt/libreoffice7.0/program/pythonscript.py", line 915, in invoke
ret = self.func( *args )
File "vnd.sun.star.tdoc:/41003416/Scripts/python/Bibliothèque1/Module1.py", line 26, in ParcourirTable
File "vnd.sun.star.tdoc:/41003416/Scripts/python/Bibliothèque1/Module1.py", line 38, in MessageBox
)).
L' erreur se situerait-elle avant cette commande?
Voici le script dans son état actuel:
Code : Tout sélectionner
# coding: utf-8
from __future__ import unicode_literals
import uno
import unohelper
from com.sun.star.awt.MessageBoxType import MESSAGEBOX, INFOBOX, WARNINGBOX, \
ERRORBOX, QUERYBOX
from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK
from com.sun.star.awt.MessageBoxResults import CANCEL, OK, YES, NO, RETRY, IGNORE
from com.sun.star.sdb.CommandType import TABLE, QUERY, COMMAND
def ParcourirTable():
ctx = XSCRIPTCONTEXT.getComponentContext()
smgr = ctx.getServiceManager()
document = XSCRIPTCONTEXT.getDocument()
curseur = document.getCurrentController()
source = curseur.DataSource
connection = source.getConnection("","")
statement = connection.createStatement()
rqt = "SELECT count(*) FROM Table1"
rslts = statement.executeQuery(rqt)
#mri(ctx, rslts)
MessageBox(WARNINGBOX, BUTTONS_OK, "Titre", rslts)
def mri(ctx, target):
mri = ctx.ServiceManager.createInstanceWithContext(
"mytools.Mri",ctx)
mri.inspect(target)
def MessageBox( box_type: int, buttons: int, title: str, message: str)-> int: #
desktop = XSCRIPTCONTEXT.getDesktop()
frame = desktop.getCurrentFrame()
window = frame.getContainerWindow()
toolkit = window.getToolkit()
messagebox = toolkit.createMessageBox(window, box_type, buttons, title, message)
return messagebox.execute()
Merci rollmops de votre aide.
Bonne journée