OVH Cloud OVH Cloud

Comment ajouter des fonctions

3 réponses
Avatar
emmanuel4945
Je suis entrain de creer une base de données.
J'ai réussi à trouver des fonctions qui m'interressent.
Ma question : comment faire pour les intégrer et les utiliser ?

Par exemple, je voudrais calculer l'age d'une personne à partir de sa date
de naissance.
J'ai trouver une formule mais comment faire pour l'exploiter ?

"Function Age(varDateNaiss As Date) As Integer
' Objectif: Calculer l'âge de quelqu'un à partir de sa date de naissance
' Le résultat est un nombre d'années pleines.
Dim varAge As Integer
If IsNull(varDateNaiss) Then Age = 0: Exit Function
' Calcul de l'écart entre aujourd'hui et la date lue
varAge = DateDiff("yyyy", varDateNaiss, Now)
' Teste si le mois ou le jour de la date du jour est < que celui de la date
de naissance
' pour toujours obtenir un nombre d'années pleines
If Date < DateSerial(Year(Now), Month(varDateNaiss), Day(varDateNaiss)) Then
varAge = varAge - 1
End If
Age = varAge
End Function"

Merci de votre aide
Emmanuel

3 réponses

Avatar
Gafish
Bonjour aussi,

emmanuel4945 wrote:
J'ai trouver une formule mais comment faire pour l'exploiter ?

"Function Age(varDateNaiss As Date) As Integer


Tu la mets dans un module de ta base, en préfixant "function" par "public"
comme suit :
Public Function Age ....

Après tu l'appeles dans ton code ou dans tes requêtes comme une fonction
intégrée d'Access.

Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
emmanuel4945
Rebonjour et merci de la réponse apportée.

J'ai fait ce que tu m'a indiqué (du moins je pense car la réponse était un
peu crypté..)
J'ai donc mis l 'expression dans le module.
Puis au niveau du champs "âge" en source de contrôle j'ai généré
l'expression "age".
mais cela ne marche pas, dans la case, il m'affiche "nom?".
Comment faire ? y a t-il une manoeuvre à faire avec le champs "date de
naissance" et/ou le champs "age" ?

Encore merci pour ton aide
Emmanuel


Bonjour aussi,

emmanuel4945 wrote:
J'ai trouver une formule mais comment faire pour l'exploiter ?

"Function Age(varDateNaiss As Date) As Integer


Tu la mets dans un module de ta base, en préfixant "function" par "public"
comme suit :
Public Function Age ....

Après tu l'appeles dans ton code ou dans tes requêtes comme une fonction
intégrée d'Access.

Arnaud

--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Eric
Bonjour,

Je m'immisce, puis-je ?

Il faut que tu mettes en source de ton contrôle :
=Age([ChampDateNaissance])
Tu remplaces ChampDateNaissance par le vrai nom du champ contenant la
date de naissance

Pour une requête: 1 champ calculé
Son Age:Age([ChampDateNaissance])
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Rebonjour et merci de la réponse apportée.

J'ai fait ce que tu m'a indiqué (du moins je pense car la réponse était un
peu crypté..)
J'ai donc mis l 'expression dans le module.
Puis au niveau du champs "âge" en source de contrôle j'ai généré
l'expression "age".
mais cela ne marche pas, dans la case, il m'affiche "nom?".
Comment faire ? y a t-il une manoeuvre à faire avec le champs "date de
naissance" et/ou le champs "age" ?

Encore merci pour ton aide
Emmanuel