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

Requêtes et SQL. Discussion :

Calculer temps de réponse [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut Calculer temps de réponse
    Bonjour, je ne sais comment m'y prendre afin de calculer le temps de réponse entre deux temps fourni sur mon formulaire. je m'explique:

    J'ai la date et l'heure de la prise d'appel et la date et l'heure du retour de l'appel. Je dois calculer le temps de réponse entre les deux...
    Ex: 2014-06-02 08:00 et 2014-06-03 10:00 devrait donner 26h00
    Nom : Temps de réponse.png
Affichages : 148
Taille : 1,7 Ko
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    C'est dommage que dans ta table tu n'aies pas seulement 2 colonnes et non 4 : le calcul serait une simple soustraction.

    Access stocke la date et l’heure sous la forme d’un nombre décimal.
    La partie entière est le quantième jour depuis le 30/12/1899.
    La partie décimale indique la fraction de ce jour écoulée depuis le matin, 0 heure.

    vois ceci pour te documenter : http://mhubiche.developpez.com/vba/f...ions/datetime/
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Merci pour le retour, Pas simple tout ça... Et si je concaténais ?

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Pas simple tout ça
    Je suppose que tu as déjà vu pire !

    Fais plutôt 3 opérations

    - l'addition DateAppel + HeureAppel (1) ;
    - l'addition DateRetour + HeureRetour (2) ;
    - (2) - (1).
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Problème de format je suppose...
    Nom : temps1.png
Affichages : 136
Taille : 3,4 Ko
    Nom : temps2.png
Affichages : 228
Taille : 2,1 Ko

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    J'avance mais il manque quelque chose car mon calcul ne prend pas en compte les journées de différence...
    Nom : temps1.png
Affichages : 137
Taille : 4,1 Ko
    Nom : temps2.png
Affichages : 204
Taille : 2,7 Ko

  7. #7
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Voici un exemple




    Le code de la fonction

    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
    Option Compare Database
    Option Explicit
     
     
    Public Function NbreToHMS(EnNombre As Double) As String
      Dim Separe() As String
      Dim Jours As Integer
      Jours = PartieEntiere(EnNombre)
      Separe = Split(CDate(EnNombre - Jours), ":")
      NbreToHMS = Separe(0) + (24 * Jours) & ":" & Separe(1) & ":" & Separe(2)
    End Function
     
    Public Function PartieEntiere(UnNombre As Double) As Integer
      If UnNombre < 0 Then
          PartieEntiere = Fix(UnNombre)
        Else
          PartieEntiere = -Fix(-UnNombre)
      End If
    End Function
    La BdD de test est ici : http://claudeleloup.developpez.com/&...0604Rickhq.mdb
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Cela ne peut être plus complet! Je l'ajoute à mon livre de recette Access.

    Vraiment reconnaissant!

    Merci et Au plaisir!!

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Re-Bonjour,

    Il semble y avoir petit "BUG" pour ces deux conditions:

    Nom : Duré bug.png
Affichages : 237
Taille : 21,4 Ko

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Désolé !
    Merci de m’avoir signalé cette erreur.

    C’est ma manière de séparer la partie entière d’avec la partie décimale qui était en cause.
    J’ai corrigé mon billet n° 7.

    Cette fois, on obtient ceci :



    Toutes mes excuses pour ce contretemps.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Cette fois tout baigne!

    Un immence MERCI!!!

  12. #12
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Dans le cas que tu montres, la réponse précède d'un mois !

    Par contre si la réponse vient après 24 heures, ça marche :

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Pour la combinaison 08h00 08h00 cela fonctionne mais essayez ex: 13h55 13h55 à 1 jrs d'intervale, de mon coté çà bug...

    Nom : Bug 13h55..png
Affichages : 219
Taille : 12,5 Ko

  14. #14
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Ah les dates et heures, pas facile !

    C'est un problème d'arrondi !

    Comme ceci, on évite le problème : à la différence, on ajoute un chouïa (environ 1/1000e de seconde) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Compare Database
    Option Explicit
     
     
    Public Function NbreToHMS(EnNombre As Double) As String
      Dim Separe() As String
      Dim Jours As Integer
      EnNombre = EnNombre + 0.000000001
      Jours = Int(EnNombre)
      Separe = Split(CDate(EnNombre - Jours), ":")
      NbreToHMS = Separe(0) + (24 * Jours) & ":" & Separe(1) & ":" & Separe(2)
    End Function
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Effectivement pas évident tous ces calculs avec heure et date... Heureusement qu'il y a des "Pro" comme vous pour nous sortir d'embarras...

    Merci encore et au plaisir d'un autre sujet j'espère...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul d'un temps de réponse
    Par laloo dans le forum Général Python
    Réponses: 1
    Dernier message: 07/12/2011, 20h18
  2. Calcul du temps de réponse d'une liaison 3G ?
    Par abdeljaouad dans le forum Hardware
    Réponses: 6
    Dernier message: 15/10/2010, 13h57
  3. calculer le temps de réponse d'un serveur
    Par badrodoja dans le forum Java ME
    Réponses: 4
    Dernier message: 16/05/2010, 20h43
  4. calcul du temps de réponse d'un filtre passe bande
    Par Asturias1 dans le forum Signal
    Réponses: 8
    Dernier message: 13/07/2009, 11h37
  5. [Stratégie] calculer temps de réponse d'une application
    Par imane_bennouna dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 12/11/2007, 15h42

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