IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Difference entre 2 dates


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut Difference entre 2 dates
    Bonjour
    Je voudrai obtenir l'age avec un resultat ans, mois , jours entre la fonction Date et le champ Date/Nais dans une requete
    Pouvez vous m'indiquer la syntaxe exact.
    Le calcul le plus juste avec une requete ou en VBA sur evenement du champ age.
    Mes connaissances en vba sont très faible .
    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Castours,

    Tu peux créer une fonction de calcul dans un module et y faire appel dans ta requête :

    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
    Public Function CalcAge(vDate1 As Date, vdate2 As Date, vRet As Integer)
        ' Comments : Calculer l'age d'une personne
        ' Paramètres:
        '             vDate1 - Date de Fête
        '             vDate2 - Date de comparaison
        '             vRet - 1 Année
        '                     2 Année , Mois
        '                     3 Année, Mois, Jour
        Dim vMonths As Integer
        Dim vDays As Integer
        Dim vYears As Integer
     
        vMonths = DateDiff("m", vDate1, vdate2)
        vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
        If vDays < 0 Then
            vMonths = vMonths - 1
            vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
        End If
        vYears = vMonths \ 12
        vMonths = vMonths Mod 12
        Select Case vRet
        Case 1
             CalcAge = vYears & " ans."
        Case 2
             CalcAge = vYears & " ans, " & vMonths & " mois."
        Case 3
             CalcAge = vYears & " ans, " & vMonths & " mois, " & vDays & " Jours."
        End Select
    End Function
    En insérant ta fonction dans le calcul de la requête ainsi :

    Nom : Capture.JPG
Affichages : 345
Taille : 31,9 Ko


    et le rendu en mode feuille de données :

    Nom : Capture2.JPG
Affichages : 283
Taille : 28,2 Ko

    Tu trouveras en pièce jointe un exemple au format compatible sur les versions 2007,2010 et 2013
    Cette fonction est utilisable à la fois dans des requêtes, du code VBA et dans tes formulaires (champs calculés). A toi de l'utiliser à bon escient

    JimboLion
    Fichiers attachés Fichiers attachés

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Mars 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mars 2015
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Merci a Castours
    Je viens remercier de tout mon coeur Castours qui m'a vraiment aidé à resoudre mon probleme avec le calcul de l'age .
    Merci vraiment c'est vraiment genial

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut

  5. #5
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    Castours,

    Tu peux créer une fonction de calcul dans un module et y faire appel dans ta requête :

    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
    Public Function CalcAge(vDate1 As Date, vdate2 As Date, vRet As Integer)
        ' Comments : Calculer l'age d'une personne
        ' Paramètres:
        '             vDate1 - Date de Fête
        '             vDate2 - Date de comparaison
        '             vRet - 1 Année
        '                     2 Année , Mois
        '                     3 Année, Mois, Jour
        Dim vMonths As Integer
        Dim vDays As Integer
        Dim vYears As Integer
     
        vMonths = DateDiff("m", vDate1, vdate2)
        vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
        If vDays < 0 Then
            vMonths = vMonths - 1
            vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
        End If
        vYears = vMonths \ 12
        vMonths = vMonths Mod 12
        Select Case vRet
        Case 1
             CalcAge = vYears & " ans."
        Case 2
             CalcAge = vYears & " ans, " & vMonths & " mois."
        Case 3
             CalcAge = vYears & " ans, " & vMonths & " mois, " & vDays & " Jours."
        End Select
    End Function
    En insérant ta fonction dans le calcul de la requête ainsi :

    Nom : Capture.JPG
Affichages : 345
Taille : 31,9 Ko


    et le rendu en mode feuille de données :

    Nom : Capture2.JPG
Affichages : 283
Taille : 28,2 Ko

    Tu trouveras en pièce jointe un exemple au format compatible sur les versions 2007,2010 et 2013
    Cette fonction est utilisable à la fois dans des requêtes, du code VBA et dans tes formulaires (champs calculés). A toi de l'utiliser à bon escient

    JimboLion

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    castours,

    oui et

    Des explications supplémentaires peut-être ? J'avoue ne pas avoir compris ta réponse si tant est qu'il s'agisse d'une réponse

    jimbolion

Discussions similaires

  1. [VBA] Calculer la différence entre deux dates
    Par T'chab dans le forum Access
    Réponses: 13
    Dernier message: 11/05/2006, 15h12
  2. difference entre deux dates
    Par nizniz dans le forum Oracle
    Réponses: 3
    Dernier message: 09/05/2006, 11h54
  3. Réponses: 2
    Dernier message: 04/04/2006, 10h34
  4. [Dates] difference entre 2 date
    Par byteBoy dans le forum Langage
    Réponses: 12
    Dernier message: 30/03/2006, 14h02
  5. Réponses: 1
    Dernier message: 22/09/2005, 00h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo