Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1015 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1424143
rob-92
Posté le 11-08-2006 à 10:08:51  profilanswer
 

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 :
  1. MonScript = "SELECT Count(Dossier.NoDossier) AS CompteDeNoDossier, Right(Dossier.DateEmission, 7) as annee, Sum(Dossier.MontantSubvention) AS SommeDeMontantSubvention
  2. FROM Dossier INNER JOIN CP ON Dossier.NoDossier = CP.NoDossier
  3. WHERE (((CP.DateCommission) Is Null)
  4. And ((dossier.DateDossierComplet) >= '02/12/2005'))
  5. AND (Year(dossier.DateEmission)like '2006')
  6. GROUP BY Dossier.DateEmission;"


 
Merci pour votre aide.

mood
Publicité
Posté le 11-08-2006 à 10:08:51  profilanswer
 

n°1424146
jbourdello​n
Posté le 11-08-2006 à 10:11:27  profilanswer
 

ORDER BY Dossier.DateEmission à la fin de ta requete , comme ca les données sont déja classées, Non?

n°1424147
rob-92
Posté le 11-08-2006 à 10:12:21  profilanswer
 

Ben non justement le tri ne se fait pas

n°1424148
rob-92
Posté le 11-08-2006 à 10:13:01  profilanswer
 

ma date à la fin est du type 08/2006 si ça peut aider à comprendre.

n°1424152
jbourdello​n
Posté le 11-08-2006 à 10:16:54  profilanswer
 

le champs contenant la date dans ta table c'est bien un type date / datetime ?  
Il est bien en Francais ?  
Et un  
SELECT Dossier.DateEmission
FROM Dossier
ORDER BY Dossier.DateEmission
 
ca donne quoi ?  

n°1424154
rob-92
Posté le 11-08-2006 à 10:19:49  profilanswer
 

bon alors j'ai réuci à ordonner par année (ORDER BY Right(DateEmission,4) ) mais pas par mois :s

n°1424155
rob-92
Posté le 11-08-2006 à 10:20:33  profilanswer
 

non c'est un type texte

n°1424158
jbourdello​n
Posté le 11-08-2006 à 10:22:09  profilanswer
 

Citation :

non c'est un type texte


 
Ben ok voila le problème donc...  
Dans ce cas la essaye voir un truc du genre  
 
SELECT ***
**
**
ORDER BY DATE(Dossier.DateEmission) ?!?

n°1424160
rob-92
Posté le 11-08-2006 à 10:24:19  profilanswer
 

ça coince :s

n°1424165
rob-92
Posté le 11-08-2006 à 10:28:21  profilanswer
 

en faisant ceci ça fonctionne mais je n'est pas un réel regroupement de dates (je peus avoir 5 fois 02/2005 par exemple) ?  
 
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" );
 

mood
Publicité
Posté le 11-08-2006 à 10:28:21  profilanswer
 

n°1424167
jbourdello​n
Posté le 11-08-2006 à 10:29:51  profilanswer
 

c'est peut etre pas Date le nom de la fonction ! ?  

n°1424168
jbourdello​n
Posté le 11-08-2006 à 10:31:58  profilanswer
 

et en supprimant le FORMAT(***) dans le Group By  
 
OU  
 
en supprimant le Dossier.dateEmission dans le Group BY ?

n°1424172
rob-92
Posté le 11-08-2006 à 10:36:31  profilanswer
 

non plus

n°1424175
rob-92
Posté le 11-08-2006 à 10:37:31  profilanswer
 

je pense que cela vient de la DateCommission seulement je ne vois pas du tout comment faire le vrai regroupement :s

n°1427217
dlaumor
Posté le 18-08-2006 à 14:14:44  profilanswer
 

rob-92 a écrit :

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 :
 
 
 
Merci pour votre aide.


 
Il faut que tu reprennes ta requete en ajoutant order by et reformatant ton champs texte.
Comme ce n'est pas un chalmp date pas de format
 
Mais substring, left ou right en reconcatenant les deux
 
UN truc du genre
 

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
ORDER By RIGHT(Dossier.DateEmission,4) || LEFT(Dossier.DateEmission,2);"


Message édité par dlaumor le 18-08-2006 à 14:17:42

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 

Sujets relatifs
Windev 10 problème suite aux mails[résolu] Problème réplication MySQL
Problème création graphique automatisée[HTML-CSS] Problème de DOCTYPE
problème installation mediawiki en localprobleme de resultat retourné par une variable
[Access] Problème de SQLprobleme de boucle
probleme avec base de donnes SQLProbleme de relance de sessions sous IE
Plus de sujets relatifs à : Problème tri de dates par année puis mois


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR