Difference entre deux dates

jadami Messages postés 107 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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 ...
    0
  2. jadami Messages postés 107 Statut Membre
     
    Désolé pour cet oubli.

    J'utilise une base access 2007;

    Salutations
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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 ...
      0
  3. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
     
    bonjour
    dans une requete tu inscris ceci
    Age: (Date()-[Date de naissance])/365,25
    cela te donne l'age en année
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. jadami Messages postés 107 Statut Membre
     
    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
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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?
      0
  6. jadami Messages postés 107 Statut Membre
     
    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
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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)
      0