Tri par date

Résolu
Bonjour,

Acces 2007
Après avoir enfin pu regrouper mes dates ( merci yg_be) je souhaiterais les trier.
On dirait qu'il ne reconnait pas le format car il me les classe par ordre alphabétique ( aout 2010, aout 2011...) alors que je souhaiterais aout 2010, septembre 2010 ...

mon code sql:

ORDER BY Format([DATE ENTREE],"mmmm yyyy");

merci d'avance

6 réponses

  1. je travaille dans un sous formulaire
    Le champs qui "pointe" sur la date année est au format mmmm/aaaaa
    0
    1. pardon c'est
      ORDER BY Format([DATE ENTREE],"mmmm yyyy") ASC;
      mais ca ne fonctionne toujours pas
      0
      1. Contributeur Ambassadeur
        bonjour, suggestion:
        SELECT ... , format(dateserial(year([DATE ENTREE]),month([DATE ENTREE]),1),"mmmm yyyy") 
        FROM [ENTREE DE LOT] 
        GROUP BY year([DATE ENTREE]), month([DATE ENTREE])
        ORDER BY year([DATE ENTREE]), month([DATE ENTREE]) ;

         
        0
        1. Bonjour,

          merci
          erreur de syntaxe sans l'expression de ce que j'ai souligné ci dessous

          SELECT [ENTREE DE LOT].[TYPE CLIENT], Format([DATE ENTREE],"mmmm yyyy") AS MOIS, Sum([ENTREE DE LOT].POIDS) AS SommeDePOIDS, [MATERIEL ].[FAMILLE INFORMATIQUE]
          FROM [MATERIEL] INNER JOIN [ENTREE DE LOT] ON [MATERIEL].MATERIEL = [ENTREE DE LOT].MATERIEL
          GROUP BY [ENTREE DE LOT].[TYPE CLIENT], Format([DATE ENTREE],"mmmm yyyy"), [MATERIEL].[FAMILLE INFORMATIQUE]
          HAVING ((([ENTREE DE LOT].[TYPE CLIENT]) Like "SOCIETE"))
          SELECT ... , format(dateserial(year([DATE ENTREE]),month([DATE ENTREE]),1),"mmmm yyyy")
          FROM [ENTREE DE LOT]

          GROUP BY year([DATE ENTREE]), month([DATE ENTREE])
          ORDER BY year([DATE ENTREE]), month([DATE ENTREE])
          0
          1. Contributeur Ambassadeur
            SELECT [ENTREE DE LOT].[TYPE CLIENT],  format(dateserial(year([DATE ENTREE]),month([DATE ENTREE]),1),"mmmm yyyy") AS MOIS, Sum([ENTREE DE LOT].POIDS) AS SommeDePOIDS, [MATERIEL ].[FAMILLE INFORMATIQUE] 
            FROM [MATERIEL] INNER JOIN [ENTREE DE LOT] ON [MATERIEL].MATERIEL = [ENTREE DE LOT].MATERIEL 
            WHERE [ENTREE DE LOT].[TYPE CLIENT] = "SOCIETE"
            GROUP BY [ENTREE DE LOT].[TYPE CLIENT], year([DATE ENTREE]), month([DATE ENTREE]), [MATERIEL].[FAMILLE INFORMATIQUE] 
            ORDER BY year([DATE ENTREE]), month([DATE ENTREE])
            0
        2. Génial !

          en ajoutant ASC à la fin j'ai vraiment l'ordre croissant ( juillet 2010, septembre 2010...)
          Si je ne mets pas ASC alors ca me fait décembre 2010, novembre 2010 ...)

          Ce que j'aurais voulu en fait de commencer par octobre 2017 puis septembre 2017 ...
          0
          1. Contributeur Ambassadeur
            quand tu ne mets pas ASC, mets-tu autre chose?
            je suggère
            ORDER BY year([DATE ENTREE]) DESC, month([DATE ENTREE]) DESC
            0
        3. Je ne mettais rien, j'avais copier/coller ton code

          Bonne suggestion ca fonctionne merci

          RESOLU
          0
          1. Contributeur Ambassadeur
            parfait, peux-tu marquer comme résolu en utilisant le lien sous le titre?
            0