[Résolu] LibO : requête avec paramètre et/ou variable via Outils > SQL

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
CBY
Fraîchement OOthentifié
Messages : 5
Inscription : 03 déc. 2024 14:05

[Résolu] LibO : requête avec paramètre et/ou variable via Outils > SQL

Message par CBY »

Bonjour,
Venant d'ACCESS 2000, je sais ça date, je transpose mes bases dans LibreOffice 24.8 et je me bats avec la syntaxe des quote, double quote etc...
Pas de difficultés pour des requêtes en mode ébauche qui sont essentiellement limitées à des ajouts. Donc nécessité d'utiliser du SQL si l'on veut automatiser plusieurs enchaînements de procédures et faires d'autres opérations, ce que j'essaie de faire.

1er problème: comment paramétrer une requête en SQL? Dans mon exemple:

1 -requête R_table2 définie en mode ébauche, pas de problème.
2 -Edition de la requête en mode SQL: SELECT "nom", "prénom" FROM "Table2" WHERE "prénom" = ?
copie du SELECT et collage dans l'interface: outils->SQL
3- Exécution dasn outils->SQL... et message d'erreur:
at org.hsqldb.Session.execute(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.execute(Unknown Source)
in statement [SELECT "nom", "prénom" FROM "Table2" WHERE "prénom" = ?]

Visiblement les exécutions semblent se faire dans 2 interfaces différentes, pas très homogène? Etonnant ... non?

Quelle syntaxe pour avoir l'équivalent du ? qui fonctionne dans outils->SQL.

2ème question:
comment déclarer en SQL "LibreOffice" une variable avec DECLARE qui marche dans outils->SQL, quelle syntaxe?

3ème question: où trouver la documentation SQL avec la syntaxe qui s'applique à LibreOffice.

Sans compter qu'il faut stocker les commandes SQL dans un fichier extérieur, réel problème.

La modération vous a écrit: Merci de respecter les règles de ce forum : un fil = une seule question !

Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 24.8
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1148
Inscription : 19 août 2018 05:20

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par Dolev »

Bonjour,

Faites des recherches dans ce forum sur "requête variable paramètre"
search.php?st=0&sk=t&sd=d&sr=posts&keyw ... id%5B%5D=9
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 4.1.15 sous Windows 11
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17188
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par jeanmimi »

Bonjour,
CBY a écrit : 03 déc. 2024 14:41 2 -Edition de la requête en mode SQL: SELECT "nom", "prénom" FROM "Table2" WHERE "prénom" = ?
copie du SELECT et collage dans l'interface : outils->SQL
3- Exécution dans outils→SQL... et message d'erreur :
Je reproduis aussi en exécutant cette méthode, c'est pourquoi je vous propose celle-ci, car le ? n'est pas une instruction SQL :
Commande SQL LIKE.png
ou celle-là :
Commande SQL WHERE.png
ou enfin (peut-être) :
Instruction LIKE.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.2.0.3 (x64)(20 février 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
CBY
Fraîchement OOthentifié
Messages : 5
Inscription : 03 déc. 2024 14:05

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par CBY »

Bonjour,

et merci pour les réponses.
Mon problème est d'arriver à écrire la requête qui puisse fonctionner dans" outil->SQL" en ouvrant une fenêtre de saisie.
Cette requête n'est qu'une partie d'une liste de requêtes enregistrées dans un fichier txt, dont certaines font des calculs et modifications nécessitant l'utilisation de "outil->SQL" car non tolérées dans le mode normal "requête", et ceci afin d'automatiser un traitement.

Les syntaxes proposées fonctionnent bien dans le mode "normal", mais pas dans " outil->SQL".
LibreOffice 24.8
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17188
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par jeanmimi »

CBY a écrit : 08 déc. 2024 17:19 Les syntaxes proposées fonctionnent bien dans le mode "normal", mais pas dans " outil->SQL".
Les 3 requêtes de mes copies d'écran ont été exécutées dans Outils > SQL
Je ne les ai pas testées dans le mode normal Requête, même si je suppose qu'elles doivent aussi fonctionner dans ce mode normal.
LibreOffice : Version : 25.2.0.3 (x64)(20 février 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12675
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par Bidouille »

Bonjour,

Pour info, il est malpoli de poster son problème ailleurs sans le signaler.
https://ask.libreoffice.org/t/outil-sql-parametrer-une-requete/114892

Vous constaterez que c'est inutile puisque vous obtenez les mêmes réponses.

Dans votre signature, il y a a écrit :LibreOffice 24.8
Veillez également à renseigner correctement votre signature en précisant le système d'exploitation utilisé.
L'information peut être importante pour les bénévoles qui tentent de vous aider.
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25994
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par Dude »

Salut,
CBY a écrit : 08 déc. 2024 17:19 Mon problème est d'arriver à écrire la requête qui puisse fonctionner dans" outil->SQL" en ouvrant une fenêtre de saisie.
Problème XY, quel est l'intérêt de passer par ce dialogue qui est limité à l'exécution simple et ne permet aucune automatisation ?


CBY a écrit : 08 déc. 2024 17:19 et ceci afin d'automatiser un traitement.
Le mot magique qui se résout avec une macro.
Tu enregistres tes requêtes et tu les exécutes : https://beaussier.com/sections/viewtopic.php?f=8&t=1577
CBY
Fraîchement OOthentifié
Messages : 5
Inscription : 03 déc. 2024 14:05

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par CBY »

Bonjour,
to Bidouille:
Il me semblait pourtant faire preuve de politesse en disant "Bonjour" et en remerciant pour les réponses.
Cependant je ne vois vraiment pas le problème d'aller sur plusieurs forums de même type, ce ne sont pas forcément les mêmes personnes qui les fréquentent, et "l'union fait la force" . Dans d'autres domaines ça ne pose aucun problème, mais je vois que vous même allez aussi dans d'autres forums sur ces mêmes sujets et semblez y exercer une surveillance . Quand on aime, on ne compte pas. Restons positifs et revenons à la technique.
La modération vous a écrit: Vous devriez lire ceci : https://fr.wikipedia.org/wiki/Crosspostage

to jeanmimi:
La solution proposée marche dans ce cas particulier.
Mon problème lorsque l'on est dans outils->SQL est d'arriver à faire ouvrir une fenêtre permettant de saisir le critère de sélection tel que le fait une requête créée en "mode ébauche" sans avoir à éditer la requête à chaque différente sélection . Donc quelle syntaxe, si c'est possible, qui ait la même fonction que le point d'interrogation en mode ébauche ?

Cordialement
LibreOffice 24.8
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25994
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par Dude »

CBY a écrit : 09 déc. 2024 09:21Donc quelle syntaxe, si c'est possible, qui ait la même fonction que le point d'interrogation
Il me semble t'avoir répondu sur ce point. Qu'est ce que tu n'as pas compris ?
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 4274
Inscription : 06 oct. 2008 08:03

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par Oukcha »

Bonjour,
CBY a écrit : 09 déc. 2024 09:21 je ne vois vraiment pas le problème d'aller sur plusieurs forums
Il n'y a pas de problème, il suffit effectivement de le signaler sur chacun des forums.

Cordialement
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
CBY
Fraîchement OOthentifié
Messages : 5
Inscription : 03 déc. 2024 14:05

Re: SQL dans LibreOffice requête avec paramètre et/ou variable

Message par CBY »

Bonjour,
et merci pour ces réponses.

Ayant examiné les différentes solutions proposées et ayant pris un peu de hauteur (en Z ) pour ne pas rester sur un plan XY, la solution que je retiens c'est de programmer les SQL dans un fichier txt et d'avoir à modifier manuellement 2 fois par mois une date, ce qui me semble le plus simple à maintenir. Donc méthode semi-automatique et retour en X (chute brutale).

Ayant longtemps programmé en FORTRAN, COBOL, LEM, assembleur, dBase, ACCES et autres langages (je suis un vieux de la vielle), je ne comprends pas que depuis l'apparition des L4G des années 80 on arrive à avoir à programmer encore avec de telles syntaxes, le record étant détenu par les doubles quotes et surtout les macros qui rendent une simple instruction illisible où comment transformer un L4G en L0G.

D'autre part la restriction en mode normal au "SELECT" est une vrai limitation lorsque l'on veut faire des choses simples si on le compare à ACCESS. J'ai l'impression que le développement de BASE dans LibreOffice s'est arrêté depuis longtemps, son usage semblant marginal.

Pourquoi je passe sous LibreOffice : le coût d'ACCESS qui maintenant est un loyer à payer. J'ai changé de PC et suis passé brutalement de WINDOWS 7 à WINDOWS 11, ayant tardé car j'avais encore un conf confortable et beaucoup de matériels n'ayant plus de driver sous W11 (tablette graphique, sonde calibration d'écran ,carte son , manettes de jeu ) et pas mal de logiciels achetés.

Donc on va clore le sujet.
LibreOffice 24.8