OVH Cloud OVH Cloud

calcul d'un age

8 réponses
Avatar
tofuponszen
Bonjour
Je suis nul mais j'essaie de me soigner avec votre aide
Voil=E0
J'ai trois champs
NAISSANCE
DATED
AGE
Comment =E0 partir de l=E0 puis je calculer dans le champ AGE
l'age d'une personne
Tr=E8s pr=E9cis s'il vous plait du fait de mon ignorance.
Mes champs ont le format jj/mm/aaaa
J'ai essay=E9 de faire avec les exemples donn=E9s dans les sites, mais
=E7a ne marche pas avec ma mdb je ne sais pas m'y prendre
entre requete mise =E0 jour
module
et code, impossible d'y arriver
Merci de bien vouloir m'aider
Togo

8 réponses

Avatar
3stone
Salut,


J'ai trois champs
NAISSANCE
DATED
AGE
Comment à partir de là puis je calculer dans le champ AGE
l'age d'une personne



Un champ DateNaissance => ok
DateD => date déces ?
Age => Surtout pas !!!


On n'utilise JAMAIS un champ AGE qui ne serait correct qu'au moment ou tu le calcule !!!


On utilise donc une fonction qui te donnera l'age au moment ou tu en a besoin.

Voir ici : http://www.3stone.be/access/faq.php?lng=fr
- Comment trouver: L'age d'après la date de naissance

Place la fonction dans un module (onglet module)
sauve-le sous mod_CalculAge par exemple.

Dans la requête, tu place le champ [Naissance] et un champ calculé:

Age: fnAge([Naissance])


Voilà!


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
tofuponszen
Merci bien je souhaiterais en outre que l'age s'affiche au format
aa ans mm mois
Comment faire ?
Merci
Avatar
3stone
Salut,

| Merci bien je souhaiterais en outre que l'age s'affiche au format
| aa ans mm mois
| Comment faire ?


dans ce cas, utilise cette fonction :

http://mypage.bluewin.ch/w.stucki/CalculsDates.htm#ageMois


Age: AgeX([Naissance]; Date())



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
tofuponszen
Pierre,
cela a été vraiment laborieux mais j'ai suis tout de même arrivé.
Je te remercie.
Togo
Avatar
tofuponszen
Salut Pierre
Je reviens vers toi toujours pour cette fichue fonction age qui ne me
satisfait pas vraiment.
Elle n'est pas assez précise dans mon cas, il y a toujours un
décalage et moi j'ai besoin de zéro erreur dans mon rendu.
Est-ce possible, j'ai pourtant fait exactement ce que tu m'as donné
comme indication mais j'ai quand même des erreurs dans mon résultat.
Comment puis-je faire?
Merci de m'aider encore
Avatar
3stone
Salut,

Elle n'est pas assez précise dans mon cas, il y a toujours un
décalage et moi j'ai besoin de zéro erreur dans mon rendu.


qu'entends tu par "un décalage" ?

tu demandais bien les années et mois ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
tofuponszen
1° Par exemple entre le 22/09/2000 et le 12/10/2005 cela m'affiche 5
ans 0 mois
et le 15/05/2000 et le 25/05/2005 4 ans 11 mois. Ca c'est en appliquant
une requete mise à jour.
Ce n'est pas faux mais j'aimerais essayer d'être plus précise en
affichant les jours.
2°Lorsque j'essaie de mettre date()-Datenaiss/365,15 dans la source du
controle, ce qui me conviendrait mieux car cela se met à jour dès que
j'entre la date (), alors là j'ai des erreurs énormes même en
mettant le format aa mm jj dans le controle.
Est-il possible d'améliorer la deuxième solution ?
Je te remercie de m'aider encore.
Avatar
Bonjour

Cette petite fonction donne le nombre d'années .
function fAge(DateNaissance As Date) As Integer
fAge = DateDiff("yyyy", DateNaissance, Date) _
+ (Format(Date, "mmdd") < Format(DateNaissance, "mmdd"))
End Function


sur le même principe, il suffit de rajouter la formulen qui va bien pour y
accoler le nombre de mois.

à qui l'honneur ? ;-)))

--
A+
Arnaud
-----------------------------------------------------
Tout ce qu'il faut savoir est sur http://www.mpfa.info
-----------------------------------------------------





a écrit dans le message de news:

1° Par exemple entre le 22/09/2000 et le 12/10/2005 cela m'affiche 5
ans 0 mois
et le 15/05/2000 et le 25/05/2005 4 ans 11 mois. Ca c'est en appliquant
une requete mise à jour.
Ce n'est pas faux mais j'aimerais essayer d'être plus précise en
affichant les jours.
2°Lorsque j'essaie de mettre date()-Datenaiss/365,15 dans la source du
controle, ce qui me conviendrait mieux car cela se met à jour dès que
j'entre la date (), alors là j'ai des erreurs énormes même en
mettant le format aa mm jj dans le controle.
Est-il possible d'améliorer la deuxième solution ?
Je te remercie de m'aider encore.