VBA access Selectionner le mois dans une date

sbastien Messages postés 7 Statut Membre -  
Jean_Jacques Messages postés 1045 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...
Configuration: Windows Vista
Firefox 3.5.3

2 réponses

  1. 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
  2. Jean_Jacques Messages postés 1045 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