VBA access Selectionner le mois dans une date

sbastien Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   74
 
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   Statut Membre Dernière intervention   112
 
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