[Résolu] Récupérer la date la plus récente d'une commande

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.
evaalamer
Fraîchement OOthentifié
Messages : 5
Inscription : 30 nov. 2009 15:26

[Résolu] Récupérer la date la plus récente d'une commande

Message par evaalamer »

Bonjour,

Soit la Table suivante :
evaalamer_base_commandes.odb
Comment faire pour récupérer les commandes les plus récentes pour chaque adhèrent ?

J'ai parcouru le forum en long et en large mais je ne trouve pas d'équivalent à ce que je veux obtenir.
En l'occurrence je voudrais que ma requête renvoie le tableau suivant pour la Table donnée en exemple :

2,1,15/03/10
5,2,01/01/10
6,3,15/06/10

Pour info la table a une clé primaire qui est Commande (unique et auto-incrémentée) et un index secondaire qui est Adherent

J'ai essayé avec un Select max(Date) en faisant un Group by sur l'Adherent mais ça me renvoie un problème d'agrégation.
J'ai essayé avec une jointure sur une deuxième table mais même problème d'agrégation des données.

Je ne vois pas comment faire du tout pour récupérer ce que je veux.
Si un pro du SQL de la base intégrée OpenOffice passe par là j'aimerai bien qu'il m'éclaire.
Est ce la structure de ma table qui m'empêche de faire cette requête et est ce que je m'y prend comme un manche ?

Merci de m'avoir lu
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 3.2 sur Kubuntu 10 noyau 2.6.32-generic et Windows XP 3
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: Recuperer la date la plus récente d'une commande

Message par Pierre-Yves Samyn »

Bonjour

Alors dans l'ordre :
evaalamer a écrit :Comment faire pour récupérer les commandes les plus récentes pour chaque adhèrent ?
Comme ceci :
evaalamer a écrit :J'ai essayé avec un Select max(Date) en faisant un Group by sur l'Adherent
Capture-1.png
Comme tu le vois cela fonctionne sur ma configuration...

Donc :
evaalamer a écrit :mais ça me renvoie un problème d'agrégation. Si un pro du SQL de la base intégrée OpenOffice passe par là j'aimerai bien qu'il m'éclaire.
Comme tout le monde sur ce forum je ne suis que bénévole... , alors juste deux questions :)

La base jointe fonctionne-t-elle sur ton poste ?
Quelle version utilises-tu : l'officielle ou celle de ton système ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
evaalamer
Fraîchement OOthentifié
Messages : 5
Inscription : 30 nov. 2009 15:26

[Résolu] Récupérer la date la plus récente d'une commande

Message par evaalamer »

Bonjour Pierre-Yves,

Ta requête fonctionne parfaitement bien sauf que c'est le numéro de la commande la plus récente que je veux ressortir :

2,1,15/03/10
5,2,01/01/10
6,3,15/06/10

Et que ça ne marche donc pas non plus si on veut le faire d'un seul coup en rajoutant le numéro de commande dans la requête (problème d'agrégation des données).

J'ai bien aimé "Seul point particulier : faire un clic droit sur l'en-tête de colonne pour obtenir le formatage "date"" c'est là que ça a fait tilt dans ma tête. J'avais déjà lu cette histoire de format de date sur le forum sauf que je n'arrivais pas à garder le format pour les prochaines sessions (en effet l'enregistrement de la requête ne semble pas suffire, il faut enregistrer la base aussitôt après avoir fait le forçage du format sans fermer la fenêtre ou on est en train d'exécuter la requête et non pendant la création de la requête pour que ce format soit conservé). Je ne sais pas si je suis très clair sur ce dernier point mais il faut bien vérifier après en re-exécutant la requête que le format de date est bien conservé.

Donc pour en revenir à mon problème, je n'avais plus qu'à créer une deuxième requête pour ressortir ce que je voulais obtenir. (voir base exemple) :
evaalamer_base_commandes.odb
Ne pas oublier de donner un alias au max(Date) de la requête "Datemax_Adherents" sinon pas possible ou difficile de faire une jointure sur un Max(Date) et une date !

En tout cas merci à toi pour m'avoir mis la puce à l'oreille sur cette histoire de date. Il y a quand même un bug au niveau de l'enregistrement de ce fameux format car si on modifie quelque chose dans la requête le forçage saute aussitôt ce qui me mettait dedans à chaque fois.

Donc en résumé : vérifier et revérifier que le format des dates est bien celui que l'on veut à chaque fois que l'on fait une modification de la requête.

PS: ta requête et ta table sont protégés en modification, comment fais-tu ? Oh oui là j'abuse ....... je vais chercher sur le fofo il y a surement la réponse !

Merci beaucoup
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 3.2 sur Kubuntu 10 noyau 2.6.32-generic et Windows XP 3
evaalamer
Fraîchement OOthentifié
Messages : 5
Inscription : 30 nov. 2009 15:26

Re: [Résolu] Récupérer la date la plus récente d'une command

Message par evaalamer »

Je me réponds tout seul à la question :
evaalamer a écrit :PS: ta requête et ta table sont protégés en modification, comment fais-tu ? Oh oui là j'abuse ....... je vais chercher sur le fofo il y a surement la réponse !
En fait j'ai déliré grave, il n'y a aucune protection sur la table ou la requête. C'est juste que j'avais ouvert directement la table en cliquant sur le lien et non en l'enregistrant avant sur mon poste.

merci encore pour ton aide.
Open Office 3.2 sur Kubuntu 10 noyau 2.6.32-generic et Windows XP 3