OVH Cloud OVH Cloud

Dates dans une ComboBox

5 réponses
Avatar
Patrick Fredin
Bonjour,

Voici la requête qui est la source de données d'une ComboBox :

SELECT 0 as lDate, "<< All >>" as lDateTexte
FROM tblLetters

UNION
SELECT DISTINCT tblLetters.lDate, Format(tblLetters.lDate,"dd/mm/yyyy")
as lDateTexte
FROM tblLetters
WHERE tblLetters.lCompCode=CompanyCode()
ORDER BY lDate;

Et voici résultat :
lDate lDateTexte
0 << All >>
22/12/2004 22/12/2004
23/06/2004 23/06/2004
26/11/2004 26/11/2004
29/06/2004 29/06/2004
29/11/2004 29/11/2004
30/06/2004 30/06/2004

Comme on le voit, le champ lDate n'est pas trié en ordre croissant mais,
curieusement, seulement sur le jour.

Comment puis-je faire pour que l'ordre soit en fonction de la date ?

Merci pour votre aide.

--
Patrick

5 réponses

Avatar
Eric
Bonjour Patrick,

Une astuce puisque tu caches la 1ere colonne de ta ComboBox :

select dateserial(1900,01,01) as lDate ," << All >>" as lDateTexte
from tblLetters
union
select distinct ldate , ladate as ladate2
from tblLetters
where ...
order by ldate;

A+
Eric




"Patrick Fredin" écrivait
news:#:

Bonjour,

Voici la requête qui est la source de données d'une ComboBox :

SELECT 0 as lDate, "<< All >>" as lDateTexte
FROM tblLetters

UNION
SELECT DISTINCT tblLetters.lDate,
Format(tblLetters.lDate,"dd/mm/yyyy")
as lDateTexte
FROM tblLetters
WHERE tblLetters.lCompCode=CompanyCode()
ORDER BY lDate;

Et voici résultat :
lDate lDateTexte
0 << All >>
22/12/2004 22/12/2004
23/06/2004 23/06/2004
26/11/2004 26/11/2004
29/06/2004 29/06/2004
29/11/2004 29/11/2004
30/06/2004 30/06/2004

Comme on le voit, le champ lDate n'est pas trié en ordre croissant
mais, curieusement, seulement sur le jour.

Comment puis-je faire pour que l'ordre soit en fonction de la date ?

Merci pour votre aide.



Avatar
Eric
.../...

Erreur sur le 2eme select : remplacer ladate par ldate
et l'alias importe peu ou mettre le même que sur le 1er select

--
A+
Eric

Lien à suivre : http://users.skynet.be/mpfa/
Avatar
3stone
Salut,

"Patrick Fredin"
| Voici la requête qui est la source de données d'une ComboBox :
|
| SELECT 0 as lDate, "<< All >>" as lDateTexte
| FROM tblLetters
|
| UNION
| SELECT DISTINCT tblLetters.lDate, Format(tblLetters.lDate,"dd/mm/yyyy")
| as lDateTexte
| FROM tblLetters
| WHERE tblLetters.lCompCode=CompanyCode()
| ORDER BY lDate;
[...]
| Comme on le voit, le champ lDate n'est pas trié en ordre croissant mais,
| curieusement, seulement sur le jour.
|
| Comment puis-je faire pour que l'ordre soit en fonction de la date ?

Le Order By, ne se base que sur le premier "Select"
Or, ici tu transmet un 0 qui arrive au mieux en tant que "Long", mais pas date...

Il faut donc transformer ce 0 en date... éventuellement par CDate

Select CDate(0) as lDate, "<< All >> as ldatetext
From tblLettres
Union
Select...


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Patrick Fredin
Merci. Tu as raisin. Je pensais que Access convertirait directement 0 en
date.

--
Patrick

"3stone" wrote in message
news:
Salut,

"Patrick Fredin"
| Voici la requête qui est la source de données d'une ComboBox :
|
| SELECT 0 as lDate, "<< All >>" as lDateTexte
| FROM tblLetters
|
| UNION
| SELECT DISTINCT tblLetters.lDate,
Format(tblLetters.lDate,"dd/mm/yyyy")
| as lDateTexte
| FROM tblLetters
| WHERE tblLetters.lCompCode=CompanyCode()
| ORDER BY lDate;
[...]
| Comme on le voit, le champ lDate n'est pas trié en ordre croissant mais,
| curieusement, seulement sur le jour.
|
| Comment puis-je faire pour que l'ordre soit en fonction de la date ?

Le Order By, ne se base que sur le premier "Select"
Or, ici tu transmet un 0 qui arrive au mieux en tant que "Long", mais pas
date...

Il faut donc transformer ce 0 en date... éventuellement par CDate

Select CDate(0) as lDate, "<< All >> as ldatetext
From tblLettres
Union
Select...


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw



Avatar
Patrick Fredin
Merci. Tu as raison. Je pensais que Access convertirait directement 0 en
date.

--
Patrick

"Eric" wrote in message
news:
.../...

Erreur sur le 2eme select : remplacer ladate par ldate
et l'alias importe peu ou mettre le même que sur le 1er select

--
A+
Eric

Lien à suivre : http://users.skynet.be/mpfa/