[Résolu] Formulaire ODT et connexion PostgreSQL

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.
Risbo
Fraîchement OOthentifié
Messages : 5
Inscription : 08 janv. 2022 15:54

[Résolu] Formulaire ODT et connexion PostgreSQL

Message par Risbo »


La modération vous a écrit: Titre modifié et lien externe neutralisé : les images doivent être hébergées sur ce forum de la même manière que les autres PJ que vous avez fournis.

Bonjour !

J'essaye de faire fonctionner un formulaire extrait depuis Base vers Writer avec une base de données externe PostgreSQL.
Quand j'ouvre le document Writer, aucune donnée ne semble se charger, et je ne vois aucun message d'erreur.

J'ai préparé un exemple, voir les pièces jointes base_test.odb et base_test_countries.odt.
Quand on ouvre le formulaire "countries" depuis le fichier ODB, on peut voir le premier enregistrement apparaître.
Hors, quand on ouvre le fichier ODT, les champs restent vides.

Pour configurer la connection Writer à PostgreSQL, j'ai essayé de renseigner ces différentes "Data source" dans les propriétés du formulaire :
  • host=hb18417-001.eu.clouddb.ovh.net port=35698 dbname=base_test
  • host=hb18417-001.eu.clouddb.ovh.net port=35698 dbname=base_test user=base_test_read password=PBjZksErd9d3dqKV
  • sdbc:postgresql:host=hb18417-001.eu.clouddb.ovh.net port=35698 dbname=base_test
  • sdbc:postgresql:host=hb18417-001.eu.clouddb.ovh.net port=35698 dbname=base_test user=base_test_read password=PBjZksErd9d3dqKV
  • sdbc:postgresql:postgresql://base_test_read:PBjZksErd9d3dqKV@hb18417-001.eu.clouddb.ovh.net:35698/base_test
  • sdbc:postgresql:postgresql://hb18417-001.eu.clouddb.ovh.net:35698/base_test?user=base_test_read&password=PBjZksErd9d3dqKV
  • postgresql://hb18417-001.eu.clouddb.ovh.net:35698/base_test?user=base_test_read&password=PBjZksErd9d3dqKV
(La DB est créée juste pour l'occasion, l'utilisateur est en lecture seule, donc je me dis que c'est OK de donner le mot de passe... ...n'est-ce pas ?)

Aucun de ces essais ne charge d'enregistrement, ni ne produit de message d'erreur.
Désolé, j'ai l'impression de passer à côté de quelque chose d'évident, mais je n'ai trouvé aucune solution sur le net.
Comment faut-il configurer la connection vers PostgreSQL ? Et si il y a un problème avec la connection, comment puis-je voir l'erreur ?
Merci pour votre aide ! <3
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Risbo le 16 janv. 2022 17:22, modifié 2 fois.
LibreOffice 7.1.7.2 - Ubuntu 20.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Form extrait dans Writer et connection à PostgreSQL

Message par jeanmimi »

Bonjour,
En local, après avoir connecté la Base que tu as jointe, le formulaire affiche bien tous les enregistrements.
Connecter Base locale.png
Ensuite, j'ai utilisé ton lien pour créer une nouvelle Base.
Dans les Propriétés du formulaire, j'ai connecté cette nouvelle Base et vérifié que chaque contrôle affichait bien le bon champ, et l'affichage a été aussi correct pour les différents enregistrement.(au passage, j'ai été étonné par la facilité du processus)
Connect Base.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Risbo
Fraîchement OOthentifié
Messages : 5
Inscription : 08 janv. 2022 15:54

Re: Form extrait dans Writer et connection à PostgreSQL

Message par Risbo »

Génial ! Ca m'intéresse beaucoup de comprendre ce que je fais de travers.
Tu arrives donc bien à charger les enregistrements quand tu ouvres le fichier Writer ODT ?
Quel lien de connection as-tu utilisé ?
Merci !
LibreOffice 7.1.7.2 - Ubuntu 20.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Formulaire ODT et connexion PostgreSQL

Message par jeanmimi »

Après avoir enregistré ta Base et ton Formulaire,
j'ai fait un clic sur Formulaire dans le Menu, puis j'ai cliqué sur Mode conception, dans la liste (vers le bas de la liste) j'ai choisi Propriétés du formulaire, et j’ai connecté la Base que tu as jointe.
Menu Formulaire.png
J'ai ensuite testé le lien que tu as indiqué par Fichier > Nouveau > Base existante :
Base PostgreSQL.png
C'est vraiment très simple.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Risbo
Fraîchement OOthentifié
Messages : 5
Inscription : 08 janv. 2022 15:54

Re: Formulaire ODT et connexion PostgreSQL

Message par Risbo »

Ah d'accord, merci jeanmimi !
Si je comprends bien, tu renseigne le fichier ODB comme source de données du formulaire dans le fichier ODT. C'est bien ca ?

Mon objectif est de distribuer le fichier ODT sans le fichier ODB.
Est-ce que c'est possible de renseigner la connection PostgreSQL directement comme source de données, sans passer par le fichier ODB ?
J'essaye de faire quelque chose comme ca:
Annotate-a-local-image(1).png
Est-ce que je me trompe et un fichier ODB est tout le temps requis ?
Merci beaucoup pour ton aide :)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.1.7.2 - Ubuntu 20.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Formulaire ODT et connexion PostgreSQL

Message par jeanmimi »

Risbo a écrit :Mon objectif est de distribuer le fichier ODT sans le fichier ODB.
Est-ce que c'est possible de renseigner la connexion PostgreSQL directement comme source de données, sans passer par le fichier ODB ?
Je colle le lien dans la fenêtre ouverte à la deuxième étape de l’Assistant de connexion à une Base existante :
Connect Base PostgreSQL.png
A l'étape suivante, je passe le Mot de passe puisqu'il n'y en a pas dans le test et, en dernière étape, je valide la création de la Base de données en local en en demandant le référencement, ce qui l'affichera de facto dans Base; c'est vérifiable par Outils > LO Base > Bases de données.
J'ai donc bien connecté la Base PostgreSQL distante pour créer ma Base de données locale que j'ai nommé selon mon choix.
En pratique, tu auras à diffuser :
  • le lien pour la connexion à ta Base PostgreSQL
    le formulaire
    le court tutoriel pour expliquer comment connecter ta Base PostgreSQL, créer la Base en local et paramétrer le formulaire pour connecter cette Base en local.
Comme c'était la première fois que je fais ce type d’exercice, j'ai l'impression que c'est plutôt facile.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Risbo
Fraîchement OOthentifié
Messages : 5
Inscription : 08 janv. 2022 15:54

Re: Formulaire ODT et connexion PostgreSQL

Message par Risbo »

Merci jeanmimi.
J'aimerais distribuer plusieurs formulaires ODT, chacun avec plusieurs sub-forms.
Demander aux utilisateurs de changer la source de données de chacun des formulaires va être compliqué.

Du coup j'ai continué de chercher une solution.
Mais toujours rien :/
Même avec un fichier ODB qui ne contient que les informations de connections vers PostgreSQL.
Puisque le lien vers le fichier ODB stocké dans le fichier ODT est un chemin absolu, ce n'est pas distribuable.

Encore une fois, j'ai l'impression de passer à côté de quelque chose.
Si on peut extraire un formulaire vers un fichier ODT, c'est bien pour rendre ce fichier indépendant / autonome, non ?
LibreOffice 7.1.7.2 - Ubuntu 20.04
Avatar de l’utilisateur
rollmops
PassiOOnné
PassiOOnné
Messages : 669
Inscription : 20 déc. 2017 14:45

Re: Formulaire ODT et connexion PostgreSQL

Message par rollmops »

Bonjour,

Il est toujours possible par macro de créer un ODB.
Voir le suprême de dude : https://forum.openoffice.org/fr/forum/v ... =15&t=6872
Risbo a écrit :Demander aux utilisateurs de changer la source de données de chacun des formulaires va être compliqué.
Mais ici, tu auras la difficulté de leur faire autoriser l'exécution des macros. :?
OpenOffice 4.1.15 - Windows 10
Risbo
Fraîchement OOthentifié
Messages : 5
Inscription : 08 janv. 2022 15:54

Re: Formulaire ODT et connexion PostgreSQL

Message par Risbo »

Merci rollmops :)
Au final je pense que je vais distribuer le fichier ODB source.
L'option des macros reste plus complexe que d'accéder aux formulaires contenus dans le fichier ODB.
En tout cas merci beaucoup pour vos pistes :)
LibreOffice 7.1.7.2 - Ubuntu 20.04
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9258
Inscription : 28 août 2010 08:45

Re: Formulaire ODT et connexion PostgreSQL

Message par micmac »

Bonjour,

Si, comme on croit comprendre, votre problème résolu, il est d'usage
  1. d'ajouter manuellement au début du titre de votre premier message la balise [Résolu] (avec un R majuscule et sans oublier le e accentué, le tout entre crochets [ ])
  2. et de cocher l'icône Image
Image
Adaptez la longueur du titre à 60 caractères maximum, balises comprises.

Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac