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

IHM Discussion :

Calculer un age sur un formulaire


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Calculer un age sur un formulaire
    Salut,

    Je débute avec Access et je voudrais savoir comment faire la chose suivante :

    Une table contient des champs de renseignements pour créer des fiches de contacts. Un de ces champs contient la date de naissance du contact. Comment faire pour que dans mon formulaire sous le champ à remplir avec la date de naissance, un autre champ affiche automatiquement l'age de la personne à la date de la saisie ?

    J'espère que ce n'est pas trop compliqué

    Merci à vous !

  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Dans les solutions simples, tu peux mettre en source de ton formulaire un appel à la fontion diffdate (cf le tutoriel sur les Dates et Heures)

    Cela donnerait queque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =DiffDate("aaaa",[TonChampDateNaissance], Date())
    Tu peux aussi le faire par un calcul en prenant le nombre d'années entières résolues (en moyenne de 365.25 jours ) ce qui ferai ce calcul :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =(Date()-[TonChampDateNaissance])\365.25
    Attention à l'opérateur !
    C'est bien \ et pas /

    voilà

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci Maxence, j'ai tenté tes 2 soluces mais le champ de résultat me marque "#Erreur".

    Je ne comprends pas pourquoi, en fait. J'ai potassé le tutoriel des dates que tu pointais et mes bouquins (des pavés)... tout le monde est d'accord sur les expressions à employer mais chez moi ca marque une erreur à l'arrivée .

    Dans une table unique j'ai entre autres un champ "date de naissance" et champ "age" (vide).

    Dans un formulaire appelant des données de cette même table on retrouve mon champ "Date de naissance" que l'on rempli et le champ "age" qui normalement contient la formule afin d'afficher l'age.

    Je ne sais pas d'ou ça vient ...

  4. #4
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Bonsoir,

    peux tu nous montrer ton code ?

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    Que ce soit dans une requête ou sur ton formulaire "oublie" le champ age de ta table.
    Dans une requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tbl_Personne.[date de naissance], 
    DateDiff("yyyy",[date de naissance],Date()) AS Age1
    FROM tbl_Personne;
    Sur ton formulaire un nouveau champ "txt_Age", avec pour source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DiffDate("aaaa";[date de naissance];Date())
    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup Francishop, ca marche très bien !

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

Discussions similaires

  1. [AC-2003] Calcul sur un formulaire
    Par acorbpin dans le forum IHM
    Réponses: 7
    Dernier message: 25/07/2012, 17h41
  2. [VxiR2] Calcul d'age sur une période glissante
    Par BEGU95 dans le forum Deski
    Réponses: 6
    Dernier message: 21/01/2011, 16h53
  3. Réponses: 2
    Dernier message: 28/12/2009, 23h35
  4. [AC-2007] Calcul sur un formulaire
    Par pierredraft dans le forum IHM
    Réponses: 1
    Dernier message: 03/06/2009, 20h06
  5. calcul de l'age dans un formulaire
    Par spacergirly dans le forum Access
    Réponses: 2
    Dernier message: 13/06/2007, 15h09

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