Calcul de l'age d'une personne

Résolu/Fermé
drxgerard Messages postés 15 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 21 septembre 2013 - Modifié par drxgerard le 19/09/2013 à 13:40
drxgerard Messages postés 15 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 21 septembre 2013 - 21 sept. 2013 à 17:57
Bonjour,

J'ai actuellement une zone de texte dans un formulaire qui calcule l'age de la façon suivante :
=(Date()-[Date_naissance])

Cette zone de texte affiche l'âge sur 2 caractères avec la fonction "aa" dans format.

Si la personne est décédée à une certaine date ce calcul n'est plus valable puisqu'il continue à calculer l'âge suivant la date du jour. De plus si elle à plus de 100 ans la zone de texte m'affiche "00" et non pas 100.

Quelle est la formule à insérer dans la source de contrôle de ma zone de texte sachant que le nom du champ décès est "Date_deces_majeur"

remerciements
A voir également:

4 réponses

drxgerard Messages postés 15 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 21 septembre 2013 2
20 sept. 2013 à 18:08
Merci pour la réponse mais cela ne fonctionne pas.
Le résultat m'affiche des "####"
J'ai essayé pas mal de méthodes et la seul qui fonctionne, pour l'instant, est pour l'instant la soustraction pur et simple des 2 dates avec la zone de texte en format"aa"
J'ai un autre souci, les personnes nées après une certaine date sont affichées sous le format "aaaa" c'est à dire qu'une personne qui a vingt ans le résultat est sous la forme "1920"
De plus lorsque qu'une personne est décédée le compteur continue à tourner. Une personne décédée à 100 ans il y a quatre ans, access m'affiche 104 ans.
Cela fait trois ans que je cherche une procédure correct.
Remerciement pour votre aide.
1
abdelstat Messages postés 8 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 21 septembre 2013 3
21 sept. 2013 à 13:26
bj
si j'ai bien compris, vous avez besoin d'un champ qui vous calcule l'age en années révolues à partir d'un autre champ appelé "Date_naissance" , la formule que je vous ai communiqué marche très bien. (faites attention au nom du champ, pptés, autres, nom, et au type du champ qui doit être Date abrégée)
pour les personnes décédées, l'ordinateur ne peut pas le deviner.
il faut avoir un autre champ ou vous mettez la date de décès
et dans ce cas il faut ajouter à la formule une condition. vous lui dite si le champs Dtae-deces est pas null il faut faire le calcul à partir de cette date et pas à partir de la date système
1
drxgerard Messages postés 15 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 21 septembre 2013 2
21 sept. 2013 à 17:57
En fait j'ai trouvé la réponse en recherchant sur internet et la solution est tellement bête que j'en ai honte d'avoir galéré aussi longtemps.
Il suffit de mettre dans la source de contrôle de la zone de texte la condition suivante.

=VraiFaux([date_deces_majeur]<Date();([date_deces_majeur]-[date_naissance])/365,2;(Date()-[date_naissance])/365,2)

Et cela fonctionne nickel.

Je vous remercie pour votre collaboration.

Cordialement
1
abdelstat Messages postés 8 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 21 septembre 2013 3
20 sept. 2013 à 15:13
bj
vous avez appliqué une simple soustraction sur les date. Or le calcul de date diffère du calcul habituel .
Essai avec cette formule:
=DiffDate("aaaa";[Date_naissance];Date())+(Format(Date();"mmjj")<Format([Date_naissance];"mmjj"))
0