IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Age à partir d'une date de naissance


Sujet :

Bases de données Delphi

  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut Age à partir d'une date de naissance
    bonjour tout le monde,
    j'ai une table " personnel" où il y a les champs: "N°_pers" , "Nom_prenom" et
    "date-naissance".
    je veux connaître l'âge des personnes qui ont plus de 18 ans.
    comment faire cette requête liée à un "Edit" ("Edit" sert à entrer la date pour calculer l'age de la personne).
    merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour
    Quelle BDD ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Salut SergioMaster,
    je travaille sous delphi 7 avec des tables Paradox.
    merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    avec des tables Paradox.
    dommage, avec firebird cela aurait été plus simple

    bon , j'ai deux solutions quand même a te proposer:
    1) si tu n'as pas besoin d'être trop précis au niveau de l'age (au jour prés) l'age n'est ni plus ni moins que la division d'un nombre de jour divisé par 365.25
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE CAST((Date_naissance - :unedate)/365.25 as INTEGER)>=18
    2) extraire les jours , mois, année par extract et décomposer le calcul de l'âge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHERE EXTRACT(YEAR FROM date_naissance)-:AN>18
    OR  (EXTRACT(YEAR FROM date_naissance)-:AN=17 AND EXTRACT(MONTH FROM date_naissance)<:MOIS)
    OR (EXTRACT(YEAR FROM date_naissance)-:AN=17 AND EXTRACT(MONTH FROM date_naissance)=:MOIS AND  EXTRACT(DAY FROM date_naissance)<=:JOUR)
    ce SQL n'est pas vérifié mais l'esprit y est , il faudra peut-être transtyper (CAST) les valeurs

    P.S. Il existe un forum spécifique paradox ici
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    Voila une requete Paradox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT Date1
    FROM "MaTable.DB" 
    WHERE
    (Date1 < ('01/27/2009'-6574.0)
    ORDER BY Date1
    6574 = 18 * 365.25
    Attention la date est en MoisJourAnne

  6. #6
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par ALWEBER Voir le message
    Voila une requete Paradox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT Date1
    FROM "MaTable.DB" 
    WHERE
    (Date1 < ('01/27/2009'-6574.0)
    ORDER BY Date1
    6574 = 18 * 365.25
    Attention la date est en MoisJourAnne
    +1

    donc faut utiliser DecodeDate.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  7. #7
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    ok ça marche!!!!
    merci à tous d'être penchés sur mon cas et c'est d'ailleurs la vrai force de ce magnifique forum.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calculer L'age Exacte a partir de la date de naissance
    Par zoubazouba40 dans le forum Général Java
    Réponses: 3
    Dernier message: 07/02/2014, 19h01
  2. Calculer un age depuis une date de naissance
    Par pi-2r dans le forum Langage
    Réponses: 12
    Dernier message: 03/01/2011, 21h28
  3. Requete a partir d'une date de naissance pour obtenir un age
    Par Fleur-Anne.Blain dans le forum Langage SQL
    Réponses: 11
    Dernier message: 10/08/2006, 12h40
  4. [D7] trouver une semaine partir d'une date
    Par raoulmania dans le forum Langage
    Réponses: 3
    Dernier message: 01/12/2005, 10h36
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo