Age sous access
kdycisse
Messages postés
1
Statut
Membre
-
Jean_Jacques Messages postés 1048 Statut Membre -
Jean_Jacques Messages postés 1048 Statut Membre -
Bonjour,
je souhaiterai calculer l'age d'une personne à l'aide de sa date de naissance et ensuite dans une autre colonne k access ecrive "majeur" si l'age est supérieur à 18 et "mineur" sinon
merci par avance
je souhaiterai calculer l'age d'une personne à l'aide de sa date de naissance et ensuite dans une autre colonne k access ecrive "majeur" si l'age est supérieur à 18 et "mineur" sinon
merci par avance
3 réponses
Bonjour,
le plus simple est de créer la date de naissance d'une personne qui a 18 ans aujourd'hui (dateDuJour - 18 ans) et de comparer la date de naissance de la personne à tester à cette date.
le plus simple est de créer la date de naissance d'une personne qui a 18 ans aujourd'hui (dateDuJour - 18 ans) et de comparer la date de naissance de la personne à tester à cette date.
Bonjour,
Une colonne ne peut être calculée directement dans la gestion des tables d'ACCESS. De plus, l'âge d'une personne varie tous les jours. Pour les personnes majeures, le statut ne changera pas au cours du temps. PAr contre, pour les personnes mineures, le statut peut changer d'un jour à l'autre. Il faudrait donc le recalculer régulièrement ou en chargeant le programme.
Une solution serait de lancer un requête "mise à jour" qui permet de tester l'âge des personnes mineures et de vérifier si le nombre d'années par rapport à la date système esst supérieur à 18 ou bien de vérifier si la date du jour est supérieure à la date de naissance + 18 ans. Cette dernière solution me semble plus pratique car elle ne tient pas compte du nombre de jours de l'année.
UPDATE tbpersonnes SET tbpersonnes.majeur = Yes
WHERE (((tbpersonnes.majeur)=No) AND ((Year([dnaiss])+18)<Year(Date())));
Je calcul doit être amélioré car un âge n'est pas calculé sur une année mais doit aussi prendre en compte le jour et le mois.
Ma table est la table tbpersonnes contenant le champ dnaiss et le champ majeur.
Cette solution te convient-elle ?
Une colonne ne peut être calculée directement dans la gestion des tables d'ACCESS. De plus, l'âge d'une personne varie tous les jours. Pour les personnes majeures, le statut ne changera pas au cours du temps. PAr contre, pour les personnes mineures, le statut peut changer d'un jour à l'autre. Il faudrait donc le recalculer régulièrement ou en chargeant le programme.
Une solution serait de lancer un requête "mise à jour" qui permet de tester l'âge des personnes mineures et de vérifier si le nombre d'années par rapport à la date système esst supérieur à 18 ou bien de vérifier si la date du jour est supérieure à la date de naissance + 18 ans. Cette dernière solution me semble plus pratique car elle ne tient pas compte du nombre de jours de l'année.
UPDATE tbpersonnes SET tbpersonnes.majeur = Yes
WHERE (((tbpersonnes.majeur)=No) AND ((Year([dnaiss])+18)<Year(Date())));
Je calcul doit être amélioré car un âge n'est pas calculé sur une année mais doit aussi prendre en compte le jour et le mois.
Ma table est la table tbpersonnes contenant le champ dnaiss et le champ majeur.
Cette solution te convient-elle ?
Bonjour,
En faisant une recherche dans l'aide de vb je constate qu'il convient d'utiliser "alt + 92" pour obtenir un entier:
Si l'on résonne en années entières on peut envisager une syntaxe du type suivant :
if DiffDate("y", [Now], [Date_de_naissance]])(alt +92)\18 > 0 then "majeur" etc...
A tester
A+
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
En faisant une recherche dans l'aide de vb je constate qu'il convient d'utiliser "alt + 92" pour obtenir un entier:
Si l'on résonne en années entières on peut envisager une syntaxe du type suivant :
if DiffDate("y", [Now], [Date_de_naissance]])(alt +92)\18 > 0 then "majeur" etc...
A tester
A+
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.