Calcul de l'age d'une personne

Résolu
drxgerard Messages postés 18 Statut Membre -  
drxgerard Messages postés 18 Statut Membre -
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

4 réponses

drxgerard Messages postés 18 Statut Membre 2
 
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 Statut Membre 3
 
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 18 Statut Membre 2
 
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 Statut Membre 3
 
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