SQL MONTH(DATE())-1

Fermé
Signaler
-
Messages postés
248
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
17 janvier 2009
-
Bonjour,
petite question pour les balèzes que vous êtes. je fais quelques requêtes sur 6 mois glissants en EXCEL via l'importation de données stockées sur une base access afin de produire des tableaux de bord. qu'obtient on au mois de janvier avec une requête contenant
MONTH(DATE())-1 and year(date()) - 1 ? vais avoir une erreur ou obtenir mes datas au mois de décembre 122008 ?
merci d'avance pour vos nombreuses réponses et bonnes fêtes à tous

1 réponse

Messages postés
248
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
17 janvier 2009
26
au mois de janvier, MOIS(DATE()) = 1 donc MOIS(DATE()) - 1 = 0
Si tu veux faire ça proprement, utilise la fonction DATE proprement :

Si la case B2 contient : =DATE(2008;1;1)
et la case B3 contient : =DATE(ANNEE(B2);MOIS(B2)-1;JOUR(B2))
Alors B2 affichera : 01/01/08
et B3 affichera 01/12/07

Et si B4 contient =DATE(ANNEE(B2);MOIS(B2);JOUR(B2)-1)
alors B4 affichera : 31/12/07

NOTE: J'ai pas testé sur Excel, mais OpenOffice, mais ça doit être pareil.
1
merci de ta réponse droopy mais cela ne fonctionne pas sous excel qui renvoie un erreur de référence circulaire. ceci dit je ne comprends pas comment B2 pourrait renvoyer l'année précédente par ta formule ! peux tu développer un peu que je cherche dans cette direction
0
grosse précision . je fais une requete SQL via Excel sur une base Access en liaison de données du type
SELECT * FROM mydatabase
WHERE MMM=month(date())-1)
si ca peut inspirer quelqu'un !
merci encore
0
Messages postés
248
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
17 janvier 2009
26 > chepel
Alors regarde dans les fonction de gestion de dates de Access. Sur MySQL, tu as les fonctions date_sub et date_add qui te permettent de faire ça.
0