OVH Cloud OVH Cloud

[SQL] Requête sur date

6 réponses
Avatar
Laurent Merlet
Bonjour à tous,

Voici mon problème : je stocke dans table des données, avec entre autre
un champ date, au format jj/mm/aaaa
Je voudrais pouvoir extraire les enregistrements dont la date serait par
exemple antérieure ou égale à Février 2004. Avec seulement les fonctions
Month(Date) et Year(Date) je ne trouve pas... y aurait il une autre fonction
SQL qui existerait ?

Merciiiii

Laurent

6 réponses

Avatar
Rafi
"Laurent Merlet" a écrit dans le message de
news:41ec001d$0$7117$
| Bonjour à tous,
|
| Voici mon problème : je stocke dans table des données, avec entre
autre
| un champ date, au format jj/mm/aaaa
| Je voudrais pouvoir extraire les enregistrements dont la date serait
par
| exemple antérieure ou égale à Février 2004. Avec seulement les
fonctions
| Month(Date) et Year(Date) je ne trouve pas... y aurait il une autre
fonction
| SQL qui existerait ?

Si tu cherches ce qui est strictement antérieur au 01/03/2004, essaye :

date_dans_la_table < DateSerial(2004, 03, 01)
Avatar
Eric
Bonjour Laurent,

As-tu essayé :
SELECT Chp1, Chp2, ...
FROM TaTable
WHERE ChampDate<ÚteSerial([Quelle année?],[Quel mois ?]+1,0);

[Quelle année?] et [Quel mois ?] sont les paramètres de la requête.

--
A+
Eric
Lien à suivre : http://users.skynet.be/mpfa/


"Laurent Merlet" écrivait
news:41ec001d$0$7117$:

Bonjour à tous,

Voici mon problème : je stocke dans table des données, avec entre
autre
un champ date, au format jj/mm/aaaa
Je voudrais pouvoir extraire les enregistrements dont la date serait
par exemple antérieure ou égale à Février 2004. Avec seulement les
fonctions Month(Date) et Year(Date) je ne trouve pas... y aurait il
une autre fonction SQL qui existerait ?

Merciiiii

Laurent



Avatar
Raymond [mvp]
Bonjour.

tu peux faire un requête comme ceci:
SELECT table1.* FROM table1
WHERE Format([madate],"yyyymm") <=[entrer un mois aaaamm];

la valeur de [entrer un mois aaaamm] sera demandé au lancement de la
requête , mais on peut indiquer aussi un contrôle de formulaire qui
contiendra la valeur à comparer.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Laurent Merlet" a écrit dans le message de
news: 41ec001d$0$7117$
Bonjour à tous,

Voici mon problème : je stocke dans table des données, avec entre autre
un champ date, au format jj/mm/aaaa
Je voudrais pouvoir extraire les enregistrements dont la date serait par
exemple antérieure ou égale à Février 2004. Avec seulement les fonctions
Month(Date) et Year(Date) je ne trouve pas... y aurait il une autre
fonction
SQL qui existerait ?

Merciiiii

Laurent




Avatar
Santino
Merci à tous, ces solutions me conviennent plutot bien !


"Raymond [mvp]" a écrit dans le message de
news: OfPn5XM$
Bonjour.

tu peux faire un requête comme ceci:
SELECT table1.* FROM table1
WHERE Format([madate],"yyyymm") <=[entrer un mois aaaamm];

la valeur de [entrer un mois aaaamm] sera demandé au lancement de la
requête , mais on peut indiquer aussi un contrôle de formulaire qui
contiendra la valeur à comparer.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Laurent Merlet" a écrit dans le message de
news: 41ec001d$0$7117$
Bonjour à tous,

Voici mon problème : je stocke dans table des données, avec entre
autre
un champ date, au format jj/mm/aaaa
Je voudrais pouvoir extraire les enregistrements dont la date serait par
exemple antérieure ou égale à Février 2004. Avec seulement les fonctions
Month(Date) et Year(Date) je ne trouve pas... y aurait il une autre
fonction
SQL qui existerait ?

Merciiiii

Laurent








Avatar
Santino
Ok, parfait, mais comment faire pour passer cette requête dans un
rs.currentdb.openrecordset("........"), en effet avec les " de la fonction
format, ça pose problème ...

Merci

"Raymond [mvp]" a écrit dans le message de
news: OfPn5XM$
Bonjour.

tu peux faire un requête comme ceci:
SELECT table1.* FROM table1
WHERE Format([madate],"yyyymm") <=[entrer un mois aaaamm];

la valeur de [entrer un mois aaaamm] sera demandé au lancement de la
requête , mais on peut indiquer aussi un contrôle de formulaire qui
contiendra la valeur à comparer.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Laurent Merlet" a écrit dans le message de
news: 41ec001d$0$7117$
Bonjour à tous,

Voici mon problème : je stocke dans table des données, avec entre
autre
un champ date, au format jj/mm/aaaa
Je voudrais pouvoir extraire les enregistrements dont la date serait par
exemple antérieure ou égale à Février 2004. Avec seulement les fonctions
Month(Date) et Year(Date) je ne trouve pas... y aurait il une autre
fonction
SQL qui existerait ?

Merciiiii

Laurent








Avatar
Eric
dim strSQL as String, rs as DAO.Recordset
strSQL = "SELECT table1.* FROM table1 WHERE Format([madate],'yyyymm') < [entrer un mois aaaamm];"
set rs= CurrentDb.OpenRecordset (strSQL)

devrait faire l'affaire, non ?

--
A+
Eric
Lien à suivre : http://users.skynet.be/mpfa/


"Santino" écrivait
news:41ec23aa$0$6580$:

Ok, parfait, mais comment faire pour passer cette requête dans un
rs.currentdb.openrecordset("........"), en effet avec les " de la
fonction format, ça pose problème ...

Merci