Bonjour,
Est-il possible, sous access 2007 pour un individu donné, d'inclure un champ "âge" dans une table, qui s'actualise à chaque ouverture de la table.
Bonjour,
Est-il possible, sous access 2007 pour un individu donné, d'inclure un champ "âge" dans une table, qui s'actualise à chaque ouverture de la table.
Bonjour
Je ne sais pas sous Access 2007 (car je ne l'ai pas), mais on ne change pas une valeur comme cela dans une table.
Dans la table tu ne dois avoir que la date de naissance de la personne, et c'est dans les requêtes, les formulaires ou les états que tu affiches l'âge grâce à une fonction.
Bonsoir,
Comme l'a dit Starec, il faut une requête pour voir l'âge des personnes changer à chaque lecture.
Tu peux calculer cet âge en années ou années + mois.
Salutations.
Bonjour,
Ch'ti code pour calculer l'ancienneté avec un format du genre 20a 6m 12j :
Bon courage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 Option Compare Database Function Minus(A As Variant, B As Variant, C As Variant) Dim tampon As Variant If (A < 0) Then tampon = B C = C - 1 Else tampon = A End If Minus = tampon End Function Function Anciennete(REF, DNA As Variant) Dim acand As Variant 'Année de la date dont on calcule l'âge Dim mcand As Variant 'Mois de la date dont on calcule l'âge Dim jcand As Variant 'Jour de la date dont on calcule l'âge Dim aage As Variant 'Nombre d'années de l'âge calculé Dim mage As Variant 'Nombre de mois de l'âge calculé Dim jage As Variant 'Nombre de jours de l'âge calculé acand = Year(DNA) mcand = Month(DNA) jcand = Day(DNA) 'Si le jour de référence >= jour de la date dont on calcule l'âge 'et si le mois de référence >= mois de la date dont on calcule l'âge If ((Day(REF) >= jcand) And (Month(REF) >= mcand)) Then 'Cas le plus simple on fait la différence jage = Day(REF) - jcand mage = Month(REF) - mcand aage = Year(REF) - acand Else 'Sinon le nombre de jours de l'âge calculé est jage = Minus(Day(REF) - jcand, Day(REF) - jcand + 30, mage) If ((Month(REF) = mcand) And (Day(REF) < jcand)) Then mage = 11 aage = aage - 1 Else mage = mage + Minus(Month(REF) - mcand, Month(REF) - mcand + 12, aage) End If aage = aage + Year(REF) - acand End If If (mage < 10) Then mage = "0" & mage End If If (jage < 10) Then jage = "0" & jage End If Anciennete = aage & mage & jage End Function 'Utilisation 'Age : Anciennete(Date();[dthNaissance]) 'format : @@"a "@@"m "@@\j
Gabout
Bonjour Gabou,
Ton code m'intéresse, comment tu fais pour le mettre dans un état ou un formulaire en mode continue ?
Sur les propriété source ?
Merci de m'expliquer.
A bientôt
Merci
Bonjour,
Ici Gabout te propose une fonction qui va te permettre le calcul de l'age. Cette fonction peut être "appelée" de n'importe où........comment tu fais pour le mettre dans un état ou un formulaire en mode continue ?
.......comme indiqué à la fin du code....
Bonne continuation...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 'Utilisation 'Age : Anciennete(Date();[dthNaissance]) 'format : @@"a "@@"m "@@\j
FreeAccess
"Petit à petit l'araignée tisse sa toile"
Bonjour,
- tu te crées un module dans lequel tu colles le code proposé
- dans un formulaire ou un état, tu crées tu champ calculé (par exemple Age) qui fait appel à la fonction Anciennete(Date();[dthNaissance])
- tu lui appliques le format proposé @@"a "@@"m "@@\j
Et voilà, bon courage
Gabout
Bonjour FreeAccess,
Désolé, je n'avais pas vu ta réponse...
Gabout
Bon dimanche et n'oublies pas d'afficher
Gabout
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager