bigaccess
Messages postés23Date d'inscriptionjeudi 1 mars 2012StatutMembreDernière intervention30 juillet 2012
-
1 mars 2012 à 15:56
bigaccess
Messages postés23Date d'inscriptionjeudi 1 mars 2012StatutMembreDernière intervention30 juillet 2012
-
2 mars 2012 à 18:26
Bonjour,
J'ai un sérieux problème.
Je cherche a ne pas afficher des doublons dans une requête Access par le champ ou contient une date modifiable.
Voici ma table (Archive):
Numéro auto (NUM)
Le numéro de l'employé (Matricule)
La date de l'entrée (DateNote)
Une note (Note)
Il se peut qu'un employé ait plusieurs note à son dossier. Donc dans ma requête, je veux qu'il n'affiche qu'une fois l'employé mais avec la date la plus récente dans la colonne DateNote de la table Archive. La date peut par compte changer dans un enregistrement et c'est pour cela que je dois me fichier au champ DateNote. Donc une note (un enregistrement) par Matricule.
bigaccess
Messages postés23Date d'inscriptionjeudi 1 mars 2012StatutMembreDernière intervention30 juillet 2012 2 mars 2012 à 16:50
ShayW,
En fait il se peut qu'un employé ait une note à son dossier mais qu'il n'y ait pas de date pour cette note.
Donc on doit considérer que la note sans date est la plus vieille.
Je sais que c'est un peu bizarre mais ce sont des notes qui date de longtemps et il faut quand même les conserver, mais malgré tout dans cette requête je dois afficher la dernière note, par date, d'ou le DateNote.
Si l'employé qui n'a pas de date obtient une autre note avec une date, cette celle avec la date qui devrait s'afficher dans la requête et l'autre restera seulement dans la table et ainsi de suite...
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 2 mars 2012 à 17:29
SELECT Archive.Matricule, Max(Archive.DateNote) AS MaxDeDateNote, Last(Archive.Note) AS DernierDeNote
FROM Archive
GROUP BY Archive.Matricule
HAVING (([Archive]![DateNote] Is Not Null And [Archive]![Note] Is Not Null));
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 2 mars 2012 à 17:39
Cette fois, c' est la bonne..
Il ne te demandera rien !
SELECT Archive.Matricule, Max(IIf(IsNull([Archive]![DateNote]),0,[Archive]![DateNote])) AS DateNote, Last(IIf(IsNull([Archive]![Note]),0,[Archive]![Note])) AS [Note]
FROM Archive
GROUP BY Archive.Matricule;
Et mettons pour le Matricule 300 il affiche 2011-11-01 note 5 alors que la note 5 fait partie de l'enregistrement du 2011-10-20. Donc pas la bonne note de la bonne date.
bigaccess
Messages postés23Date d'inscriptionjeudi 1 mars 2012StatutMembreDernière intervention30 juillet 2012 2 mars 2012 à 14:15
Salut LIBRE_MAX,
Ça ne fonctionne pas une fenêtre s'ouvre en exécutant la requête et me demande d'entrer une valeur mais elle doit s'exécuter dans demander de valeur. De plus, les dates ne s'affichent plus dans la colonne de date.
Et il n'affiche pas l'enregistrement de la plus grande date entrée dans le champ date.
Julien39 : Distinct déjà essayé et ça ne fonctionne pas.
ShayW Ça fonctionne mais comment afficher les enregistrements si il n'y pas pas de date dans le champs DateNote pour un employé. La requête n'affiche que les enregistrements qui ont une date.
bigaccess
Messages postés23Date d'inscriptionjeudi 1 mars 2012StatutMembreDernière intervention30 juillet 2012 2 mars 2012 à 14:24
ShayW : Si il n'y a pas de date dans DateNote, la valeur de cette enregistrement est la plus vieille. C'est comme si on dit : Pas de date = date la plus vieilleé