Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

date naissance!

5 réponses
Avatar
Laurence Maitre
Bonjour,

J'ai un souci et j'ai besoin de votre aide:

J'ai dans un formulaire un champ "DateNaissance" en type de donnée Date et
un masque de saisie Date abrege 00/00/0000
J'ai également un champ age et j'aimerais que l'age ce calcule directement
d'après la date e naissance
j'ai trouvé plusieurs formules pour le calcul mais ca ne fonctionne pas, je
ne sais pas ou entrer ces formules, et il faudrait que le resultat s'affiche
également dans la table qui contient ces champs.

Merci de me venir en aide car j'en ai mal a la tete a force de chercher.
Laurence

5 réponses

Avatar
Daniel Carollo
Bonjour Laurence!

Abstenez-vous de mettre l'age dans la table, cela vous evitera un mal de
tete, et en plus ce sera faux vu que l'age change tout le temps...


--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Laurence Maitre" wrote in message
news:c241i7$mmm$
Bonjour,

J'ai un souci et j'ai besoin de votre aide:

J'ai dans un formulaire un champ "DateNaissance" en type de donnée Date et
un masque de saisie Date abrege 00/00/0000
J'ai également un champ age et j'aimerais que l'age ce calcule directement
d'après la date e naissance
j'ai trouvé plusieurs formules pour le calcul mais ca ne fonctionne pas,
je

ne sais pas ou entrer ces formules, et il faudrait que le resultat
s'affiche

également dans la table qui contient ces champs.

Merci de me venir en aide car j'en ai mal a la tete a force de chercher.
Laurence




Avatar
Le Méruvien
bonjour,
si tu ne veut pas les mois, la formule la plus simple est :
ageÚte()-[datenaissance]
tu fait donc un champ independantpar exemple [calculage], et a la propriété
source, tu met: Úte()-[datenaissance]
ensuite apres mise a jour de la date de naissance, tu fait une macro ou un
code vba ou tu dis: ageÊlculage
pour le mettre dans la table.



"Laurence Maitre" a écrit dans le message
de news: c241i7$mmm$
Bonjour,

J'ai un souci et j'ai besoin de votre aide:

J'ai dans un formulaire un champ "DateNaissance" en type de donnée Date et
un masque de saisie Date abrege 00/00/0000
J'ai également un champ age et j'aimerais que l'age ce calcule directement
d'après la date e naissance
j'ai trouvé plusieurs formules pour le calcul mais ca ne fonctionne pas,
je

ne sais pas ou entrer ces formules, et il faudrait que le resultat
s'affiche

également dans la table qui contient ces champs.

Merci de me venir en aide car j'en ai mal a la tete a force de chercher.
Laurence




Avatar
Le Méruvien
oui c'est vrai, effectivement la date entrée dans la table sera valable
uniquement pour le jour de la saisie, mais ne se mettra pas a jour
automatiquement, donc il faut mieux la laisser dans le formulaire là elle
sera a jour a chaque ouverture du form.


"Daniel Carollo" a écrit dans le
message de news:
Bonjour Laurence!

Abstenez-vous de mettre l'age dans la table, cela vous evitera un mal de
tete, et en plus ce sera faux vu que l'age change tout le temps...


--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Laurence Maitre" wrote in message
news:c241i7$mmm$
Bonjour,

J'ai un souci et j'ai besoin de votre aide:

J'ai dans un formulaire un champ "DateNaissance" en type de donnée Date
et


un masque de saisie Date abrege 00/00/0000
J'ai également un champ age et j'aimerais que l'age ce calcule
directement


d'après la date e naissance
j'ai trouvé plusieurs formules pour le calcul mais ca ne fonctionne pas,
je

ne sais pas ou entrer ces formules, et il faudrait que le resultat
s'affiche

également dans la table qui contient ces champs.

Merci de me venir en aide car j'en ai mal a la tete a force de chercher.
Laurence








Avatar
3stone
Bonjour Laurence,

"Laurence Maitre"
J'ai dans un formulaire un champ "DateNaissance" en type de donnée Date et
un masque de saisie Date abrege 00/00/0000
J'ai également un champ age et j'aimerais que l'age ce calcule directement
d'après la date e naissance
j'ai trouvé plusieurs formules pour le calcul mais ca ne fonctionne pas, je
ne sais pas ou entrer ces formules, et il faudrait que le resultat s'affiche
également dans la table qui contient ces champs.




Cela fait un moment que tu tourne autour de cela... ;-))

Je t'ai (et d'autres également ;) d'éconseillé de sauver l'age dans la table...
(la valeur invariable est la date de naissance !!! )

Allez, je te prends par la main et on y va...

Crée un nouveau module standard (onglet Module)
et colle y cette fonction :

'---- début ------------------------------------
Function fnAGE(Bdate) As Integer
If IsNull(Bdate) Then
fnAGE = 0
Else
fnAGE = _
DateDiff("yyyy", [Bdate], Now()) + _
Int(Format(Now(), "mmdd") < Format([Bdate], "mmdd"))
End If
End Function
'---- fin ----------------------------------------

Compile le code, menu "Débogage, Compiler..." et sauve ce
module sous un nom *autre* que le nom de la fonction,
"mod_Age", par exemple.

Retourne dans ton formulaire.

Crée une zone de texte que tu nomme "txtAGE"

Dans l'événement "Après Mise à jour" de ton champ "DateDeNaissance"
tu mets ceci :

txtAGE = fnAGE([DateDeNaissance])

Ensuite, tu remets la même chose dans l'événement
"Sur Activation" du formulaire...

Me!txtAGE = fnAGE(Me![DateDeNaissance])

Maintenant, il reste le cas ou tu souhaite avoir l'age dans une requête.
Pour cela, dans la requête, il suffit de créer un champ calculé en
appelant toujours cette même fonction :

Age: fnAGE([DateDeNaissance])

Bien sûr, le champ [DateDeNaissance] doit faire partie de la requête !

Voilà, c'est tout...
Dès maintenant, tu as toujours l'age réel, à l'instant donné,
ET sans le sauver dans une table !!!

Ok, ca marche comme ca ?


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Laurence Maitre
Merci beaucoup c'est ENFIN très clair!!
Laurence
"3stone" a écrit dans le message de
news:e%
Bonjour Laurence,

"Laurence Maitre"
J'ai dans un formulaire un champ "DateNaissance" en type de donnée Date
et


un masque de saisie Date abrege 00/00/0000
J'ai également un champ age et j'aimerais que l'age ce calcule
directement


d'après la date e naissance
j'ai trouvé plusieurs formules pour le calcul mais ca ne fonctionne pas,
je


ne sais pas ou entrer ces formules, et il faudrait que le resultat
s'affiche


également dans la table qui contient ces champs.




Cela fait un moment que tu tourne autour de cela... ;-))

Je t'ai (et d'autres également ;) d'éconseillé de sauver l'age dans la
table...

(la valeur invariable est la date de naissance !!! )

Allez, je te prends par la main et on y va...

Crée un nouveau module standard (onglet Module)
et colle y cette fonction :

'---- début ------------------------------------
Function fnAGE(Bdate) As Integer
If IsNull(Bdate) Then
fnAGE = 0
Else
fnAGE = _
DateDiff("yyyy", [Bdate], Now()) + _
Int(Format(Now(), "mmdd") < Format([Bdate], "mmdd"))
End If
End Function
'---- fin ----------------------------------------

Compile le code, menu "Débogage, Compiler..." et sauve ce
module sous un nom *autre* que le nom de la fonction,
"mod_Age", par exemple.

Retourne dans ton formulaire.

Crée une zone de texte que tu nomme "txtAGE"

Dans l'événement "Après Mise à jour" de ton champ "DateDeNaissance"
tu mets ceci :

txtAGE = fnAGE([DateDeNaissance])

Ensuite, tu remets la même chose dans l'événement
"Sur Activation" du formulaire...

Me!txtAGE = fnAGE(Me![DateDeNaissance])

Maintenant, il reste le cas ou tu souhaite avoir l'age dans une requête.
Pour cela, dans la requête, il suffit de créer un champ calculé en
appelant toujours cette même fonction :

Age: fnAGE([DateDeNaissance])

Bien sûr, le champ [DateDeNaissance] doit faire partie de la requête !

Voilà, c'est tout...
Dès maintenant, tu as toujours l'age réel, à l'instant donné,
ET sans le sauver dans une table !!!

Ok, ca marche comme ca ?


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------