Tri par date

Résolu
radibus Messages postés 20 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
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. radibus Messages postés 20 Statut Membre 2
     
    je travaille dans un sous formulaire
    Le champs qui "pointe" sur la date année est au format mmmm/aaaaa
    0
  2. radibus Messages postés 20 Statut Membre 2
     
    pardon c'est
    ORDER BY Format([DATE ENTREE],"mmmm yyyy") ASC;
    mais ca ne fonctionne toujours pas
    0
  3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
  4. radibus Messages postés 20 Statut Membre 2
     
    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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. radibus Messages postés 20 Statut Membre 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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      quand tu ne mets pas ASC, mets-tu autre chose?
      je suggère
      ORDER BY year([DATE ENTREE]) DESC, month([DATE ENTREE]) DESC
      0
  7. radibus Messages postés 20 Statut Membre 2
     
    Je ne mettais rien, j'avais copier/coller ton code

    Bonne suggestion ca fonctionne merci

    RESOLU
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      parfait, peux-tu marquer comme résolu en utilisant le lien sous le titre?
      0