IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Problème de tri sur les dates par année puis mois


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut Problème de tri sur les dates par année puis mois
    Bonjour,
    j'ai fait une macro Excel qui s'ouvre grâce à Access. Celle-ci puise des informations dans une table d'Access par le biais d'une requête. Dans ma requête je fais une sélection sur une date pour n'avoir que le mois slash l'année. Le problème est que je n'arrive pas à ordonner les dates obtenues dans mon tableau. Je voudrais pouvoir avoir un tri sur l'année puis le mois pour pouvoir faire des graphiques.
    Ma requête est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MonScript = "SELECT Count(Dossier.NoDossier) AS CompteDeNoDossier, Right(Dossier.DateEmission, 7) as annee, Sum(Dossier.MontantSubvention) AS SommeDeMontantSubvention 
    FROM Dossier INNER JOIN CP ON Dossier.NoDossier = CP.NoDossier 
    WHERE (((CP.DateCommission) Is Null) 
    And ((dossier.DateDossierComplet) >= '02/12/2005')) 
    AND (Year(dossier.DateEmission)like '2006') 
    GROUP BY Dossier.DateEmission;"

    Merci pour votre aide.

  2. #2
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Points : 217
    Points
    217
    Par défaut
    Il faut donc rajouter un ORDER BY dans ta requête sur un champ qui aurait la date du type 200608 (AAAAMM)

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    justement ça ne fonctionne pas

  4. #4
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    ma date à la fin est du type 08/2006 si ça peut aider à comprendre.

  5. #5
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    bon alors j'ai réuci à ordonner par année (ORDER BY Right(DateEmission,4) ) mais pas par mois :s

  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    Si ta date est au format Date, le order by doit fonctionner.

  7. #7
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    ma date est au format texte

  8. #8
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Points : 217
    Points
    217
    Par défaut
    Et avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT Count(Dossier.NoDossier) AS CompteDeNoDossier, 
    Right(Dossier.DateEmission,7) AS annee, 
    Sum(Dossier.MontantSubvention) AS SommeDeMontantSubvention, 
    Format([Dossier]![DateEmission],"yyyymm") AS DateEmissionTri
    FROM Dossier INNER JOIN CP ON Dossier.NoDossier = CP.NoDossier
    WHERE (((CP.DateCommission) Is Null) 
    AND (([dossier].[DateDossierComplet])>='02/12/2005') 
    AND ((Year([dossier].[DateEmission])) Like '2006'))
    GROUP BY Format([Dossier]![DateEmission],"yyyymm"), Dossier.DateEmission
    ORDER BY Format([Dossier]![DateEmission],"yyyymm");

  9. #9
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    c'est génial ça marche !!! merci

  10. #10
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    comment faire maintenant pour avoir un réel regroupement de date, pour ne pas avoir 5 fois 02/2005 par exemple ?

  11. #11
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Points : 217
    Points
    217
    Par défaut
    En principe si certaines lignes ne sont pas regroupées, c'est qu'il y a quelque part des champs qui ne peuvent pas se regrouper. Peux tu vérifier cela stp ?

  12. #12
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    ah daccord !! je le fais tout de suite merci

  13. #13
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    le problème doit venir de la DateCommission :s

  14. #14
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Points : 217
    Points
    217
    Par défaut
    Peut être que le problème vient d'ailleurs, notamment au niveau des relations de tables...

  15. #15
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    non les relations des tables sont bonnes

  16. #16
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Points : 217
    Points
    217
    Par défaut
    je n'avais pas fait attention mais le problème vient probablement de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GROUP BY Format([Dossier]![DateEmission],"yyyymm"), Dossier.DateEmission
    J'imagine que dans "Date Emission" tu dois avoir plein de valeur différente donc il regroupe pour chaque meme valeur. (toutes les lignes du 01/01/05, toutes les lignes du 02/01/05,...)

  17. #17
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    Non en fait ce ne sont pas les conditions du WHERE qui posent problèmes

  18. #18
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Points : 217
    Points
    217
    Par défaut
    Je te parle du GROUP BY

  19. #19
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    oui c'est ça tu as parfaitement raison !!

  20. #20
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Points : 217
    Points
    217
    Par défaut
    Enlève le regroupement sur "DateEmission" pour tester

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Tri sur les dates
    Par Aurazed dans le forum Langage SQL
    Réponses: 6
    Dernier message: 12/06/2007, 10h02
  2. [BATCH] Tri sur les dates de fichiers
    Par tonf dans le forum Windows
    Réponses: 1
    Dernier message: 26/04/2007, 16h25
  3. [MySQL] Tri sur les dates
    Par urbalk dans le forum PHP & Base de données
    Réponses: 33
    Dernier message: 21/03/2007, 22h01
  4. [Dates] tri sur les dates
    Par udta5371 dans le forum Langage
    Réponses: 5
    Dernier message: 13/07/2006, 21h49
  5. Tri sur les dates
    Par ShadoX dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/06/2006, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo