[Résolu] Fonctions propres à PostgreSql ne fonctionnent pas

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.
Denis_21
Membre lOOyal
Membre lOOyal
Messages : 43
Inscription : 04 août 2017 08:08

[Résolu] Fonctions propres à PostgreSql ne fonctionnent pas

Message par Denis_21 »


La modération vous a écrit: Pour la bonne tenue de ce forum, balise [base] supprimée car implicite dans cette section du forum dédiée à... Base


Bonjour,
j'ai une connexion à une base PostgreSql, je crée des requêtes que je veux afficher dans un formulaire, rien de plus banal
par exemple :
SELECT "titre", "url" FROM "public"."liens" WHERE "titre" LIKE '%aprr%' ORDER BY "titre" ASC

Si la requête utilise des fonctions Postgresql par exemple en remplaçant ici LIKE par ILIKE (idem Like mais insensible à la casse)

SELECT "titre", "url" FROM "public"."liens" WHERE "titre" ILIKE '%aprr%' ORDER BY "titre" ASC

les 2 requêtes fonctionnent dans Base mais la seconde ne s'exécute qu'en mode SQL direct (impossible de l'éditer - erreur syntaxe SQL, ce qui n'est pas un problème puisque la requête retourne les résultats en mode direct )
Le problème est que cette seconde requête, il est impossible de créer un formulaire dessus avec une message du type "Les noms de champs de 'affiche' n'ont pas pu être extraits"
(Il y a d'autres conséquences, comme l'impossibilité de charger les résultats dans un Rowset)

Ce problème est-il connu, il y a t-il des solutions palliatives


Merci d'avance
Dernière modification par micmac le 17 mai 2018 08:47, modifié 1 fois.
Raison : Balisage
LibreOffice Version: 6.0.7.3 (x64)
Win 7 Professionnel
JPL
Membre lOOyal
Membre lOOyal
Messages : 33
Inscription : 17 mars 2012 10:16

Re: Fonctions propres à PostgreSql ne fonctionnent pas

Message par JPL »

Bonjour,

peut-être est-il nécessaire, dans les propriétés du formulaire, de reconfirmer que la requête doit être exécutée en mode direct, en sélectionnant "Non" dans l'onglet "Données" pour la propriété "Analyser l'instruction SQL" ?

Merci de confirmer ou d'infirmer.

JPL
Kubuntu 22.04 / LibO 7.6
Access2Base (LibO).
BaseDocumenter extension (LibO)
ScriptForge (LibO) - Documentation on https://help.libreoffice.org/latest/en- ... bPAR=BASIC
Denis_21
Membre lOOyal
Membre lOOyal
Messages : 43
Inscription : 04 août 2017 08:08

Re: Fonctions propres à PostgreSql ne fonctionnent pas

Message par Denis_21 »

Bonjour,

Vous m'avez indiquer la bonne voie. Merci
Dans le formulaire "données", en utilisant "Instruction SQL" et "non" à "Analyser l'instruction SQL" , cela fonctionne.
Par contre, cela ne fonctionne pas avec une requête enregistrée (qui correspondait à mes essais), quelle que soit la valeur de la propriété "Analyser l'instruction SQL". A la création le nom des champs n'est pas disponible dans le contrôle table. le dialogue "Ajouter champ" reste vide contrairement à d'autres requêtes
Le formulaire ne bloque pas, il indique bien le nombre d'enregistrement, le contrôle table ne peut pas se remplir puisque les champs n'ont pas pu être ajoutés

C'est donc en partie résolu en passant passant par l'instruction SQL

J'attends un peu avant de mettre résolu si d'autres idées arrivent...
Cordialement

La modération vous a écrit: Un mois après l'intéressé n'a pas reparu.
N'ayant plus de nouvelles, on peut en déduire que le problème est résolu ou ne se reproduit plus.

Merci de baliser par vous-même la prochaine fois.
Un remerciement fait aussi plaisir aux bénévoles qui vous ont consacré de leur temps..

LibreOffice Version: 6.0.7.3 (x64)
Win 7 Professionnel