Difference entre deux dates

Bonjour,

Sur une requête je voudrais obtenir l’âge d’un adhérent en fonction
d’une date fixe « 01/10/20217 » et d’une date de naissance.

Exemple :
01/10/2017- 01/10/2001 = 16 a
01/10/2017- 03/10/2001 = 16 a et 3 j
01/10/2017- 01/11/2001 = 16 a et 1 m

Merci pour votre aide.

Salutations

6 réponses

  1. Contributeur
    bonsoir,
    quel logiciel de base de données utilises-tu?
    comment ces dates sont-elles enregistrées?
    peut-être:
    select datedenaissance-dateserial(2017,10,1) as age from ...
    1. Désolé pour cet oubli.

      J'utilise une base access 2007;

      Salutations
      1. Contributeur
        select year(datedenaissance-dateserial(2017,10,1)) & "a, "
         & month(datedenaissance-dateserial(2017,10,1)) & "m, " 
        & day(datedenaissance-dateserial(2017,10,1)) & "j." as age from ...
    2. bonjour
      dans une requete tu inscris ceci
      Age: (Date()-[Date de naissance])/365,25
      cela te donne l'age en année
      1. Bonjour,

        J’ai utilisé le modèle de yb_g sur un champ de ma requête, mais je voudrais prendre la
        valeur 2017,10,1 dans le champ CalculDroit de la rqt .

        Ca ne fonctionne pas.

        Age: year(datenaissance-dateserial("CalculDroit"))

        Salutations
        1. Contributeur
          je ne sais pas ce que c'est qu'un champ dans une requête. peux-tu m'expliquer, et expliquer ton contexte?
          "Ca ne fonctionne pas": message d'erreur, résultat inattendu?
      2. Bonjour,

        En effet il s’agit d’un champ de ma table.

        Mais oublions tout ça pour le moment car je voudrais savoir si en créant une constance du type :

        Public Const CONS_DROITVOTE As Variant = "2017;10;1"

        Je pourrais utiliser la fonction dateserail.

        J’ai mis des virgules parque lorsque j’utilise ce code Age: Année(SérieDate(2017.10.1))- Année(DateNaissance) & " a, " les points ne passent pas, en les remplaçants par des
        Virgules J’obtient bien l’année.

        En faisant cela ,

        Age: Année(SérieDate("CONS_DROITVOTE"))-Année([Datenaissance])

        Message d’erreur : le nombre d’arguments n’est pas correct.

        Merci pour votre aide, et votre patience/

        Salutations
        1. Contributeur
          la fonction dateserial te permet de créer une date à partir de trois nombres.
          si calculdroit est un champ (de type date) dans ta table, pourquoi ne pas faire
          select year(datedenaissance-calculdroit)