OVH Cloud OVH Cloud

Le mois prochain en SQL

2 réponses
Avatar
JacquesH
Bonjour à toutes et tous,

Petit nouveau dans Access, je suis attentivement les conseils
des pros sur le forum et grace à vous j'ai déjà réussi un certain nombre
de choses mais je pense que je commence à avoir besoin d'aide.

J'ai 3 états différents dans lesquels j'affiche les
anniversaires :
- Dans les 7 prochains jours.
- Du mois en cours.
- Du mois suivant.

Pour les 2 premiers, je n'ai pas de problème. En revanche, pour
le troisième, j'utilise du SQL trouvé plusieurs fois dans l'historique
du forum :

SELECT
FROM [Informations nominatives]
WHERE (((Month(Date()+30))=Month([DateNaissance])))
ORDER BY Format([Datenaissance],"dd");

Globalement, cela fonctionne mais je suis un peu surpris car je
pense que si je fais ma demande le 30 ou le 31 Janvier, il ne va pas
m'afficher le mois de Février mais le mois de Mars.

N'y a-t-il pas une formule qui donne directement "Mois + 1" ?

Merci de vos réponses.

Jacques

2 réponses

Avatar
Daniel Carollo
Bonjour Jacques!

Il est en effet peu recommende de faire date + nombre pour obtenir quoi que
ce soit. Le fait qu'on obtienne le jour de la semaine prochaine en faisant
Date + 7 est un pur hasard. Il y a peu de chances que Microsoft change la
methode de stockage des dates, mais a priori rien de les en empecherait, et
on ne retrouverait plus la semaine prochaine en faisant le calcul precedent.

Pour operer sur les dates, il y a une serie de fonctions qu'il est
preferable d'utiliser: DateAdd() et DatePart() sont les essentielles, et
sont tres bien decrites dans l'aide en ligne.

J'espere que ca vous donne un point de depart.


--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

P.S. Rien ne me fait dresser les cheveux autant que MaDate + 365.25 pour
avoir l'an prochain...


"JacquesH" wrote in message
news:

Bonjour à toutes et tous,

Petit nouveau dans Access, je suis attentivement les conseils
des pros sur le forum et grace à vous j'ai déjà réussi un certain nombre
de choses mais je pense que je commence à avoir besoin d'aide.

J'ai 3 états différents dans lesquels j'affiche les
anniversaires :
- Dans les 7 prochains jours.
- Du mois en cours.
- Du mois suivant.

Pour les 2 premiers, je n'ai pas de problème. En revanche, pour
le troisième, j'utilise du SQL trouvé plusieurs fois dans l'historique
du forum :

SELECT
FROM [Informations nominatives]
WHERE (((Month(Date()+30))=Month([DateNaissance])))
ORDER BY Format([Datenaissance],"dd");

Globalement, cela fonctionne mais je suis un peu surpris car je
pense que si je fais ma demande le 30 ou le 31 Janvier, il ne va pas
m'afficher le mois de Février mais le mois de Mars.

N'y a-t-il pas une formule qui donne directement "Mois + 1" ?

Merci de vos réponses.

Jacques





Avatar
JacquesH
Merci de la réponse. Je vais essayer cela ce soir.

Jacques.


Bonjour Jacques!

Il est en effet peu recommende de faire date + nombre pour obtenir quoi que
ce soit. Le fait qu'on obtienne le jour de la semaine prochaine en faisant
Date + 7 est un pur hasard. Il y a peu de chances que Microsoft change la
methode de stockage des dates, mais a priori rien de les en empecherait, et
on ne retrouverait plus la semaine prochaine en faisant le calcul precedent.

Pour operer sur les dates, il y a une serie de fonctions qu'il est
preferable d'utiliser: DateAdd() et DatePart() sont les essentielles, et
sont tres bien decrites dans l'aide en ligne.

J'espere que ca vous donne un point de depart.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

P.S. Rien ne me fait dresser les cheveux autant que MaDate + 365.25 pour
avoir l'an prochain...

"JacquesH" wrote in message
news:

Bonjour à toutes et tous,

Petit nouveau dans Access, je suis attentivement les conseils
des pros sur le forum et grace à vous j'ai déjà réussi un certain nombre
de choses mais je pense que je commence à avoir besoin d'aide.

J'ai 3 états différents dans lesquels j'affiche les
anniversaires :
- Dans les 7 prochains jours.
- Du mois en cours.
- Du mois suivant.

Pour les 2 premiers, je n'ai pas de problème. En revanche, pour
le troisième, j'utilise du SQL trouvé plusieurs fois dans l'historique
du forum :

SELECT
FROM [Informations nominatives]
WHERE (((Month(Date()+30))=Month([DateNaissance])))
ORDER BY Format([Datenaissance],"dd");

Globalement, cela fonctionne mais je suis un peu surpris car je
pense que si je fais ma demande le 30 ou le 31 Janvier, il ne va pas
m'afficher le mois de Février mais le mois de Mars.

N'y a-t-il pas une formule qui donne directement "Mois + 1" ?

Merci de vos réponses.

Jacques