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 :

calcul heure entre deux dates


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 39
    Points
    39
    Par défaut calcul heure entre deux dates
    Bonjour,

    Dans une requete je souhaite calculer le nombre d'heures entre deux dates.
    j'utilise la fonction diffdate.
    voici l'expression de mon champ calcule dans ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expr2: DiffDate("h";[T_publi_rc]![date_debut_session];[T_publi_rc]![date_fin_session])
    les champs [date_debut_session] et [date_fin_session] sont dans la même table.
    le résultat obtenu est 0:00 pour tous les enregistrements ?

    quelqu'un a t il une idée sur l'erreur commise ?
    Par avance merci

  2. #2
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 146
    Points : 84 806
    Points
    84 806
    Billets dans le blog
    15
    Par défaut


    Avez-vous essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expr2: DiffDate("h";[date_debut_session];[date_fin_session])
    ?

    Test :
    Fichiers attachés Fichiers attachés
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 39
    Points
    39
    Par défaut Merci
    Bonjour merci cela fonctionne.

    j'ai tout de même un petit problème (encore un) comment faire pour avoir le resultat au format hh:mm ?


    encore merci de votre aide

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 334
    Points : 23 792
    Points
    23 792
    Par défaut
    En fait tu ne peux pas.

    Je te propose le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public function CalculerDuree(prmDateDebut as date, prmDateFin as date) as string
       dim result as string
       dim nbSeconde as double:nbSeconde=datediff("s", prmDateDebut, prmDateFin)
       dim nbHeure as double:nbHeure=int(nbSeconde/60)
       result=format(nbHeure, "00") & ":"
       result=result & format(nbSeconde - (60*nbHeure),"00")
       CalculerDuree=result
    end function
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 334
    Points : 23 792
    Points
    23 792
    Par défaut
    J'ai oublié de préciser qu'il faut l'appeler ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expr2: CalculerDuree([T_publi_rc]![date_debut_session]; [T_publi_rc]![date_fin_session])
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 62
    Points : 39
    Points
    39
    Par défaut un grand merci (comptage heure et minute entre deux dates)
    Merci
    cela fonctionne très bien.
    j'ai adapté le code pour compter les heures et minutes et non les secondes et minutes.
    par ailleurs la journée de travail type étant de 8 heures j'ai divisé par 3.
    voici le code avec mes petites corrections

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function CalculerDuree(prmDateDebut As Date, prmDateFin As Date) As String
       Dim result As String
       Dim nbSeconde As Double: nbSeconde = DateDiff("n", prmDateDebut, prmDateFin)
       Dim nbHeure As Double: nbHeure = Int(nbSeconde / 60) / 3
       result = Format(nbHeure, "00") & ":"
       result = result & Format(nbSeconde / 3 - (60 * nbHeure), "00")
       CalculerDuree = result
    End Function

  7. #7
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 146
    Points : 84 806
    Points
    84 806
    Billets dans le blog
    15
    Par défaut
    Super;

    Marot_r Merci pour l'astuce de la fonction

    cornet04 : si vous pensez que le problème est réglé, n'oubliez pas de cliquer sur le bouton . Cela pourrait être utile à d'autres qui seraient dans la même situation.

    Cordialement,
    Malick
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 334
    Points : 23 792
    Points
    23 792
    Par défaut
    Oopps désolé pour l'erreur d'unité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function CalculerDuree(prmDateDebut As Date, prmDateFin As Date) As String
       Dim result As String
       Dim nbMinute As Double: nbMinute = DateDiff("n", prmDateDebut, prmDateFin)
       Dim nbHeure As Double: nbHeure = Int(nbMinute / 60 / 3)
       result = Format(nbHeure, "00") & ":"
       result = result & Format((nbMinute / 3) - (60 * nbHeure), "00")
       CalculerDuree = result
    End Function
    J'ai changé les noms pour une meilleur compréhension du code et j'ai intégré le /3 dans la conversion en entier Int(nbMinute / 60 / 3)A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Calcul du nombre d'heures entre deux dates
    Par HB-RACING dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/08/2015, 16h12
  2. [LV 2009] Calcul écart entre deux dates/heures
    Par K-RK-S dans le forum LabVIEW
    Réponses: 3
    Dernier message: 10/09/2010, 10h04
  3. Réponses: 2
    Dernier message: 30/03/2010, 10h25
  4. [XL-2003] calcul d'heure entre deux date et heure
    Par fullmetalknet dans le forum Excel
    Réponses: 8
    Dernier message: 06/11/2009, 11h49
  5. [SQL] calcul du nombre d'heure entre deux dates
    Par ahmedbj dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/03/2009, 12h10

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