Requête pour afficher un enregistrement à partir d'une date

Résolu/Fermé
Signaler
Messages postés
3
Date d'inscription
vendredi 8 juillet 2016
Statut
Membre
Dernière intervention
9 juillet 2016
-
Messages postés
3
Date d'inscription
vendredi 8 juillet 2016
Statut
Membre
Dernière intervention
9 juillet 2016
-
Bonjour à tous,

Je viens vers vous car je tourne en rond depuis un bon moment sur ACCESS pour faire une manip qui doit être super simple pour certains.

Je vais résumer simplement, enfin je vais essayer :)

J'ai une table qui répond au nom de "FOLLOW UP" elle est composée des champs suivants:

ID (auto) / WELL / DATE DE MISE EN SERVICE / POMPE
1 / OLD-01 / 01/02/2013 / GX-403
2 / OLD-02 / 01/02/2015 / GX-403
3 / OLD-02 / 01/05/2015 / GX-6003
4 / OLD-01 / 02/02/2014 / GX-450
5 / OLD-01 / 02/02/2015 / GX-450

J'aimerais avoir une table qui me résumé par WELL quelle est la dernière date de mise en service avec la dernière pompe installée.

Dans l'idéal je dois donc avoir ça dans ma requête:

OLD-02 / 01/05/2015 / GX-6003
OLD-01 / 02/02/2015 / GX-450

mais j'obtient cela:

OLD-01 / 01/02/2013 / GX-403
OLD-02 / 01/02/2015 / GX-403
OLD-02 / 01/05/2015 / GX-6003
OLD-01 / 02/02/2015 / GX-450

En gros j'ai les dates les plus récentes mais pour toutes les pompes alors que je ne veux que la dernière installée correspondant à la date la plus récente pour un champs WELL.

Voilà ce que j'ai fait dans ma requête:
Champs WELL
Table: FOLLOW UP
Opération: Regroupement
Tri: croissant
Critères:
Ou:

Champs: DATE DE MISE EN SERVICE
Table: FOLLOW UP
Opération: MAX
Tri:
Critères:
Ou:

Champs: PUMP
Table: FOLLOW UP
Opération: Regroupement
Tri:
Critères:
Ou:

Voilà si quelqu'un peut me dire comment modifier ma requête je lui serai reconnaissant :)

Tchusss

5 réponses

Bonjour
dans une requete comme condition => date

Bonjour,

mets donc le sql de la requête, on y verra + clair.

A+

Ca devrait donner cela :

SELECT [FOLLOW UP].WELL, Max([FOLLOW UP].[DATE DE MISE EN SERVICE]) AS [MaxOfDATE DE MISE EN SERVICE], Max([FOLLOW UP].POMPE) AS MaxOfPOMPE
FROM [FOLLOW UP]
GROUP BY [FOLLOW UP].WELL;

Copies cela dans une requête : requete / affichage / sql

a+
Messages postés
3
Date d'inscription
vendredi 8 juillet 2016
Statut
Membre
Dernière intervention
9 juillet 2016

Bonjour HDU, merci pour ta réponse mais je bloque un peu:

Voilà ce que j'ai rentré:

SELECT [WO_follow_up].WELL, Max([WO_follow_up].[THIS BOL DATE]) AS [MaxOfTHIS BOL DATE], Max([WO_follow_up].PUMP RIH) AS MaxOfPUMP RIH 
FROM [WO_follow_up]
GROUP BY [WO_follow_up].WELL;


Les noms sont un peu différents car dans mon exemple j'ai simplifié la chose mais quand j'enregistre j'ai le message d'erreur suivant:

Erreur de syntaxe (opérateur absent) dans l'expression "Max([WO_follow_up].PIMP RIH)"

Pourtant mon champs est bien écrit...

Voilà mon SQL avec ma requête précédente qui ne marche qu'a moitié:


SELECT WO_follow_up.WELL, Max(WO_follow_up.[THIS BOL DATE]) AS [MaxDeTHIS BOL DATE], WO_follow_up.[PUMP RIH]
FROM WO_follow_up
GROUP BY WO_follow_up.WELL, WO_follow_up.[PUMP RIH];


Je peux également joindre mon fichier ACCESS mais je ne connais pas d'hébergeur qui ne soit pas bloqué par mon poste.

Re,

Erreur de syntaxe (opérateur absent) dans l'expression "Max([WO_follow_up].PIMP RIH)"

mets donc [PIMP RIH] avec les []

A+
Messages postés
3
Date d'inscription
vendredi 8 juillet 2016
Statut
Membre
Dernière intervention
9 juillet 2016

Me suis rappelé un jour un mec a dit: "les espaces ça fou la merde, mettez des underscores". Effectivement...

J'ai remplacé les espaces dans mes noms de champs et ça fonctionne NICKEL:

SELECT [WO_follow_up].WELL, Max([WO_follow_up].[THIS_BOL_DATE]) AS [MaxOfTHIS_BOL_DATE], Max([WO_follow_up].PUMP_RIH) AS MaxOfPUMP_RIH
FROM [WO_follow_up]
GROUP BY [WO_follow_up].WELL;


Merci infiniment!