Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/11/2007, 18h53   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 1
Points : 0
Points : 0
Par défaut actualisation de l'âge

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.
victoria53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2007, 19h04   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
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.
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2007, 22h27   #3
Membre du Club
 
Avatar de Nounours1
 
Inscription : juin 2007
Messages : 255
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France

Informations forums :
Inscription : juin 2007
Messages : 255
Points : 62
Points : 62
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.
Nounours1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 00h54   #4
Membre Expert
 
Avatar de Gabout
 
Inscription : mai 2006
Messages : 1 298
Détails du profil
Informations personnelles :
Âge : 57
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : mai 2006
Messages : 1 298
Points : 1 289
Points : 1 289
Bonjour,

Ch'ti code pour calculer l'ancienneté avec un format du genre 20a 6m 12j :

Code :
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
Bon courage
Gabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 12h11   #5
Membre du Club
 
Inscription : juin 2007
Messages : 245
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : juin 2007
Messages : 245
Points : 67
Points : 67
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
Philippe608 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 12h51   #6
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 317
Points : 2 864
Points : 2 864
Bonjour,
Citation:
....comment tu fais pour le mettre dans un état ou un formulaire en mode continue ?
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ù....
.......comme indiqué à la fin du code....
Code :
1
2
3
'Utilisation
'Age    : Anciennete(Date();[dthNaissance])
'format : @@"a "@@"m "@@\j
Bonne continuation...
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 12h56   #7
Membre Expert
 
Avatar de Gabout
 
Inscription : mai 2006
Messages : 1 298
Détails du profil
Informations personnelles :
Âge : 57
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : mai 2006
Messages : 1 298
Points : 1 289
Points : 1 289
Bonjour,
  1. tu te crées un module dans lequel tu colles le code proposé
  2. dans un formulaire ou un état, tu crées tu champ calculé (par exemple Age) qui fait appel à la fonction Anciennete(Date();[dthNaissance])
  3. tu lui appliques le format proposé @@"a "@@"m "@@\j

Et voilà, bon courage
Gabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 12h57   #8
Membre Expert
 
Avatar de Gabout
 
Inscription : mai 2006
Messages : 1 298
Détails du profil
Informations personnelles :
Âge : 57
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : mai 2006
Messages : 1 298
Points : 1 289
Points : 1 289
Bonjour FreeAccess,

Désolé, je n'avais pas vu ta réponse...
Gabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 13h42   #9
Membre du Club
 
Inscription : juin 2007
Messages : 245
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : juin 2007
Messages : 245
Points : 67
Points : 67
Merci à vous tous

Bon dimanche
Philippe608 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 15h33   #10
Membre Expert
 
Avatar de Gabout
 
Inscription : mai 2006
Messages : 1 298
Détails du profil
Informations personnelles :
Âge : 57
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : mai 2006
Messages : 1 298
Points : 1 289
Points : 1 289
Bon dimanche et n'oublies pas d'afficher
Gabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h55.


 
 
 
 
Partenaires

Hébergement Web