Affichage de date erroné avec connexion PostgreSQL
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.
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.
-
- NOOuvel adepte
- Messages : 22
- Inscription : 11 nov. 2021 16:47
Affichage de date erroné avec connexion PostgreSQL
Bonjour,
J'ai une base de données sur Postgresql
Dans cette base une table T_ADH enregistre les adhérents d'une association
les dates de naissance et d'adhésion sont au format imposé par postegresql (YYYY-MM-DD)
La table s'affiche correctement via PgAdmin
Par contre quand je visualise la même table via libre office base, les dates on un affichage bizard (par exemple 1951-06-03 sous pgadmin devient 0026-01_02 dans base) alors que toutes les autres données de la table sont correctement affichées! Plus fort un clic droit sur la col NaiDat de la table ouverte dans Libo m'indique que je suis bien en format date iso 8601....
Du coup les résultats de requêtes - montées sous base -incluant des dates sont folkloriques et les rapports s'appuyant dur les requêtes impossibles...
Comment solutionner ce problème ?
Logiciels utilisés:
Libre Office 7.6 PostgreSql 16 avec PgAdmin4 8.4 sous windows 10
Je voulais joindre le fichier sql de creation de la table T_Adh_Exemple.sql pour postgresql et fichier T_Adh_Exemple.csv (avec les date au format iso 8601) de 4 données exemples pour illustrer mon propos mais ces extensions ne sont pas prises en compte
Bernard30
PS j'envoie les fichiers sous forme zip
J'ai une base de données sur Postgresql
Dans cette base une table T_ADH enregistre les adhérents d'une association
les dates de naissance et d'adhésion sont au format imposé par postegresql (YYYY-MM-DD)
La table s'affiche correctement via PgAdmin
Par contre quand je visualise la même table via libre office base, les dates on un affichage bizard (par exemple 1951-06-03 sous pgadmin devient 0026-01_02 dans base) alors que toutes les autres données de la table sont correctement affichées! Plus fort un clic droit sur la col NaiDat de la table ouverte dans Libo m'indique que je suis bien en format date iso 8601....
Du coup les résultats de requêtes - montées sous base -incluant des dates sont folkloriques et les rapports s'appuyant dur les requêtes impossibles...
Comment solutionner ce problème ?
Logiciels utilisés:
Libre Office 7.6 PostgreSql 16 avec PgAdmin4 8.4 sous windows 10
Je voulais joindre le fichier sql de creation de la table T_Adh_Exemple.sql pour postgresql et fichier T_Adh_Exemple.csv (avec les date au format iso 8601) de 4 données exemples pour illustrer mon propos mais ces extensions ne sont pas prises en compte
Bernard30
PS j'envoie les fichiers sous forme zip
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Bernard30 le 18 mars 2024 16:50, modifié 2 fois.
libre office 7.6.4.1 sous windows 10
-
- RespOOnsable forum
- Messages : 9258
- Inscription : 28 août 2010 08:45
Re: Libre Office et PostgreSQl
Bonjour,
Accès direct à votre signature pour la mettre à jour.Dans votre signature il y a écrit :libre office 7.6.4.1 sous Linux Mint 21.3
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Libre Office et PostgreSQl
Bonjour,
Il doit y avoir quelque chose qui m'échappe, mais pourquoi avoir posté dans le module Dessin du forum ?
Il doit y avoir quelque chose qui m'échappe, mais pourquoi avoir posté dans le module Dessin du forum ?
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- RespOOnsable modération
- Messages : 3954
- Inscription : 06 oct. 2008 08:03
Re: Affichage de date avec connexion avec PostgreSQl
Bonjour,
Sujet logiquement déplacé en section Base de données.
Cordialement
Sujet logiquement déplacé en section Base de données.
Cordialement
Pour tout savoir sur le fonctionnement de ce forum À lire avant tout !
-
- NéOOphyte
- Messages : 145
- Inscription : 08 nov. 2023 11:40
Re: Affichage de date erroné avec connexion PostgreSQL
Bonjour Bernard,
Après avoir lu votre sujet, j'ai interrogé google et je crois comprendre que vous pouvez accéder au formatage de la date sur le server aussi bien que sur base.
Après avoir lu votre sujet, j'ai interrogé google et je crois comprendre que vous pouvez accéder au formatage de la date sur le server aussi bien que sur base.
A+SET DateStyle TO European;
Libre Office 6.0.7 sous Ubuntu 18.04.6
-
- NOOuvel adepte
- Messages : 22
- Inscription : 11 nov. 2021 16:47
Re: Affichage de date erroné avec connexion PostgreSQL
non cela ne fonctionne pas !
Bernard 30
Bernard 30
libre office 7.6.4.1 sous windows 10
-
- NéOOphyte
- Messages : 145
- Inscription : 08 nov. 2023 11:40
Re: Affichage de date erroné avec connexion PostgreSQL
Cher Monsieur Bernard,
Pouvez-vous tester ce code via BASE ?
A+
Pouvez-vous tester ce code via BASE ?
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.7 sous Ubuntu 18.04.6
-
- PassiOOnné
- Messages : 629
- Inscription : 09 août 2017 22:15
Re: Affichage de date erroné avec connexion PostgreSQL
Hello,
Impossible de récupérer ton fichier, mon antivirus windows defender détecte un virus dedans et refuse de le garder.
Par contre j'ai essayé de me connecter à une base de données postgresql 15 avec des dates à partir de LibreOffice Base 7.4.6.2 et je ne semble pas avoir ton problème. La base de données est Northwind une base de données de test très connue.
Voici une copie d'écran avec ce que je vois dans PgAdmin et LibreOffice pour la table employees :
Ami calmant, J.P
Impossible de récupérer ton fichier, mon antivirus windows defender détecte un virus dedans et refuse de le garder.
Par contre j'ai essayé de me connecter à une base de données postgresql 15 avec des dates à partir de LibreOffice Base 7.4.6.2 et je ne semble pas avoir ton problème. La base de données est Northwind une base de données de test très connue.
Voici une copie d'écran avec ce que je vois dans PgAdmin et LibreOffice pour la table employees :
Ami calmant, J.P
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
-
- NOOuvel adepte
- Messages : 22
- Inscription : 11 nov. 2021 16:47
Re: Affichage de date erroné avec connexion PostgreSQL
Bonjour
J'ai suivi ton conseil avec l'utilisation de northwind
Le problème est le même avec un mauvais affichage des dates sous base et un affichage correct sous pgadmin...
Bernard30
J'ai suivi ton conseil avec l'utilisation de northwind
Le problème est le même avec un mauvais affichage des dates sous base et un affichage correct sous pgadmin...
Bernard30
libre office 7.6.4.1 sous windows 10
-
- PassiOOnné
- Messages : 629
- Inscription : 09 août 2017 22:15
Re: Affichage de date erroné avec connexion PostgreSQL
Hello,
tu peux essayer ce code pour voir d'où vient le problème (en remplaçant les identifiants de la la base postgresql par les tiens ) :
si res est bon ce n'est pas la base postgresql qui est en cause. Vérifie le format de colonne dans l'affichage de la table (clic droit sur l'entête de la colonne)
Ami calmant, J.P
tu peux essayer ce code pour voir d'où vient le problème (en remplaçant les identifiants de la la base postgresql par les tiens ) :
Code : Tout sélectionner
Sub ConnPostGresSqlSdbc()
Dim sURL as String, oManager As Object, oCon as Object, oStatement as Object, oResult as Object
Dim res, laDate as Date, oClasseur As Object
sURL = "sdbc:postgresql:dbname=Northwind host=localhost user=postgres password=xxxxxxxxx"
oManager = CreateUnoService("com.sun.star.sdbc.DriverManager")
oCon = oManager.getConnection(sURL)
oStatement = oCon.CreateStatement()
oResult = oStatement.executeQuery("SELECT birth_date FROM employees LIMIT 1")
oResult.First
Do
res = oResult.getString(1)
laDate = CDate(res)
msgBox "Chaîne : " + res + " - Date : " + Format(laDate,"dd/mm/yyyy")
Loop While oResult.Next
End Sub
Ami calmant, J.P
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
-
- NOOuvel adepte
- Messages : 22
- Inscription : 11 nov. 2021 16:47
Re: Affichage de date erroné avec connexion PostgreSQL
j'ai essaye ton code
le résultat est correct donc la base PostgreSQL est valide
j'ajoute qu'une requête pour extraire l'âge des adhérents
donne un résultât correct pour l'âge mais retourne la NaiDAt de manière toujours folklorique !
Dans base le clic droit sur la col pour en changer le formatage donne des résultats étonnants mais jamais le bon
Bernard 30
le résultat est correct donc la base PostgreSQL est valide
j'ajoute qu'une requête pour extraire l'âge des adhérents
Code : Tout sélectionner
SELECT "NaiDat",
CASE
WHEN Extract (Month from Current_Date) < EXTRACT ( month from "NaiDat") or ( Extract (Month from Current_Date) = Extract (Month from "NaiDat") and Extract (Day from Current_Date)<Extract (day from"NaiDat") ) THEN
CAST((Extract (Year from Current_Date) - Extract (Year from "NaiDat") -1) AS VARCHAR) || ' ans'
ELSE
CAST((Extract (Year from Current_Date) - Extract (Year from "NaiDat") ) AS VARCHAR) || ' ans'
END as "Age","Nom","Prenom","Id_Adherent"
from "T_Adh" where "Cotis_23_24" = 'TRUE'
Dans base le clic droit sur la col pour en changer le formatage donne des résultats étonnants mais jamais le bon
Bernard 30
Dernière modification par Oukcha le 20 mars 2024 18:24, modifié 1 fois.
Raison : Balises [code] et [/code] = lecture et sélection simplifiées de votre requête
Raison : Balises [code] et [/code] = lecture et sélection simplifiées de votre requête
libre office 7.6.4.1 sous windows 10
-
- NéOOphyte
- Messages : 145
- Inscription : 08 nov. 2023 11:40
Re: Affichage de date erroné avec connexion PostgreSQL
@ Bernard
Bonjour Bernard, Tu voudras bien m'excuser mais le sujet commence à m'agacer:
Lorsque tu as codé sur Postgresql, quel format as-tu donné au champ "NaiDate" (à savoir: date de naissance) MM/DD/YYYY, YYYY/MM/DD ou tout simplement DD/MM/YYYY?
Je deviens dingue...
Bonjour Bernard, Tu voudras bien m'excuser mais le sujet commence à m'agacer:
Lorsque tu as codé sur Postgresql, quel format as-tu donné au champ "NaiDate" (à savoir: date de naissance) MM/DD/YYYY, YYYY/MM/DD ou tout simplement DD/MM/YYYY?
Je deviens dingue...
Libre Office 6.0.7 sous Ubuntu 18.04.6
-
- NOOuvel adepte
- Messages : 22
- Inscription : 11 nov. 2021 16:47
Re: Affichage de date erroné avec connexion PostgreSQL
j'ai utilisé le type de données "date" de postgresql pour Naidat. Dans PgAdmin j'obtiens les dates au format yyyy-mm-dd
Bernard
Bernard
libre office 7.6.4.1 sous windows 10
-
- NéOOphyte
- Messages : 145
- Inscription : 08 nov. 2023 11:40
Re: Affichage de date erroné avec connexion PostgreSQL
Oui mais as-tu modifié le format DATE dans la table importée en BASE?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.7 sous Ubuntu 18.04.6