Age sous access
Fermé
kdycisse
Messages postés
1
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
30 juillet 2008
-
30 juil. 2008 à 10:48
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 - 30 juil. 2008 à 15:17
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 - 30 juil. 2008 à 15:17
3 réponses
Darkito
Messages postés
1191
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
545
30 juil. 2008 à 11:19
30 juil. 2008 à 11:19
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.
Milou2211
Messages postés
35
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2008
11
30 juil. 2008 à 11:30
30 juil. 2008 à 11:30
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 ?
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
30 juil. 2008 à 15:17
30 juil. 2008 à 15:17
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.