VBA access Selectionner le mois dans une date

Fermé
sbastien Messages postés 6 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 16 septembre 2009 - 16 sept. 2009 à 13:58
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 - 16 sept. 2009 à 17:55
Bonjour,

J'ai un formulaire sous access lié à une table, avec un champ date.

J'ai dans ce formulaire 3 onglets (Mois / semaine / jour) et dans chacun une liste déroulante lié aux enregistrements dans DateD.

J'aimerai faire les selections par moi, par semaine (et par jour, cela est fait automatiquement (date complète)).

JE ne veux donc pas la date complète mais seulement le mois, ou la semaine...

Comment faire svp...

2 réponses

incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
16 sept. 2009 à 16:22
Salut,

Tu as une fonction spéciale VBA pour cela : PARTDATE("partie";date). Dans partie tu indiques la partie de la date que tu souhaites extraire "m" pour mois, "yyyy" pour année (de mémoire). Cette fonction est décrite dans l'aide de VBA et tu peux l'inclure dans une requete SQL.

Cdlt

IC
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
16 sept. 2009 à 17:55
Bonsoir sbastien,
Voici quelques spécimens de requêtes en rapport avec votre question. Je vous laisse apprécier ... ou pas ...
En tout cas, elles sont opérationnelles. Il vous reste à les adapter ...


N° de la semaine en cours dans l'année en cours
SELECT DatePart("Ww",Now()) AS [Semaine en cours N°];

Celle-ci correspond assez bien à ce que vous demandez.
SELECT TRANSACTIONS.DateSaisie, TRANSACTIONS.RéfValeur, DatePart("m",[Datesaisie]) AS Mois, DatePart("yyyy",[Datesaisie]) AS Millésime
FROM TRANSACTIONS
WHERE (((DatePart("m",[Datesaisie]))=[ Tantième du mois ? ]))
ORDER BY DatePart("m",[Datesaisie]);


Liste des enregistrements de la semaine en cours

SELECT DatePart("WW",[Datesaisie]) AS [Semaine N°], TRANSACTIONS.RéfValeur, TRANSACTIONS.DateSaisie
FROM TRANSACTIONS
WHERE (((DatePart("WW",[Datesaisie]))=DatePart("Ww",Now())));

Cordialement
0