Access: afficher une date par année en SQL

Résolu
printfx000 -  
 printfx000 -
Bonjour,

j'ai une table Access dans laquelle j'ai un champ MaDate ou les données sont de la forme "JJ/MM/AAAA".

Lorsque je fais une requete "SELECT MaDate FROM MaTable ORDER BY MaDate", on m'affiche les dates mais dans l'ordre des jours (exemple: 01/10/2012 sera placé avant 30/05/2010) !

Connaissez vous un moyen d'afficher les dates dans le bonne ordre mais sans changer le format de la date, svp ?

Merci !

3 réponses

Bruce Willix Messages postés 11966 Date d'inscription   Statut Contributeur Dernière intervention   2 594
 
Très bizarre. Ton champ date est bien défini en type "Date/Heure" ?
0
castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
 
Bonjour
Pour extraire l'année d'une date, dansune requete ,dans une nouvelle colonne,par exemple tu inscris
come critere
DateAn: Format([MaDate];"aaaa") en français ou yyyy
0
printfx000
 
Merci pour vos réponses ! J'ai regardé le type de mon champ MaDate (format JJ/MM/AAAA) et effectivement, il était de type Texte. Je le mets donc en type Date/Heure.
Cependant, après lancement du formulaire contenant la liste déroulante où est censé apparaitre le résultat de ma requete, j'ai le message d'erreur suivant:

Cette expression présente une syntaxe incorrecte, ou est trop complexe pour être évaluée. Par exemple, une expression numérique peut contenir des éléments trop compliqués. Essayez de la simplifier en en affectant des parties à des variables.

Sauriez vous m'aider, svp ? Merci !
0
Bruce Willix Messages postés 11966 Date d'inscription   Statut Contributeur Dernière intervention   2 594
 
J'en étais sur ^^ C'est pour ça que ta chaine de caractères est évaluée comme un mot et non comme une valeur.

Quand tu changes la nature d'un champ, les requêtes basées dessus doivent parfois être adaptées car la requête SQL que tu avais porte toujours sur un champ texte alors qu'il est devenu un champ date.

Donc tu ouvres ta requête en mode édition et tu refais le filtre qui portait sur ce champ.
0
printfx000
 
merci de ta réponse, mais qu'est ce que tu entends par "refais le filtre qui portait sur ce champ" ?
0
Bruce Willix Messages postés 11966 Date d'inscription   Statut Contributeur Dernière intervention   2 594
 
Tu as bien créé une requête ? Tu la rouvres, tu supprimes les champ "date" et tu le remets.
0
printfx000
 
en fait, ma requete je la fais directement dans ma liste de formulaire ! je n'ai pas de requete proprement créées (comme celles qui apparaissent à gauche de ta page Access). Donc comment je fais ?
0
Bruce Willix Messages postés 11966 Date d'inscription   Statut Contributeur Dernière intervention   2 594
 
Ca change rien: c'est la même méthode ^^

Elle dit quoi ta requete ? Tu as le SQL dispo ?
0
printfx000
 
Voici le SQL de la requete : SELECT DISTINCT DateReunion FROM Reunion;

Sinon, j'ai remarqué un truc intéréssant: c'est que après avoir modifié le type de mon champ DateReunion en date/heure et en supprimant la liste de formulaire contenant la requete ci-dessus, j'ai toujours mon message d'erreur qui s'affiche. Pour plus qu'il s'affiche, je dois également supprimer mes autres listes qui affichent d'autres champs de ma table Reunion.
0
printfx000
 
J'ai résolu mon problème d'une manière assez radicale ! J'ai créée une nouvelle colonne dans ma table comprenant mes dates en format Date et heure. J'ai ensuite adapté mes requêtes et ça marche sans problème maintenant.

Merci quand même pour votre aide ^^ !
0