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

Modélisation Discussion :

Comment calculer une durée ?


Sujet :

Modélisation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 37
    Par défaut Comment calculer une durée ?
    Bonjour à tous

    Pouvez vous me dire comment faire calculer une durée à Access à partir des champs "Heure début" et "Heure fin" ? ainsi mon SAV saura son temps consacré au différentes demandes.

    Merci !

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Par défaut
    Bonjoour,

    Ou veux tu afficher la durée : sur un formulaire ou un état ou dans une requete ?

    1) Formulaire ou Etat : tu insères un controle de type Zone de Texte indépendant. Dans la propriété ControleSource tu écris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = [Heure Fin] - [Heure Debut]
    2) Dans une requete : en mode création de la requete, tu crées un champ calculé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Duree:[Heure Fin] - [Heure Debut]
    Dans les deux cas tu affectes un format Horaire sur le champ calculé
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 37
    Par défaut
    Merci pour ta réponse Jeannot45

    j'ai essayé et 2 autres questions en découlent :
    - le calcul que me fait access n'est pas exact : avec 14:12 et 14:52 il me donne une durée de 0,02777778 je ne sais pas pourquoi

    - cette formule que tu m'as donné fonctionne-t-elle avec une insertion automatique de l'heure ?

    merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 116
    Par défaut
    Il suffit de formater le résultat en heure minute.

    Et pour ta deuxième question, la réponse est oui

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 37
    Par défaut
    Bonjour ptitdragon_eric,
    peux tu m'en dire plus sur les manipulations pour obtenir ce formatage et éventuellement pour faire fonctionner avec l'insertion de l'heure automatique stp ?

    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 136
    Par défaut
    Salut!
    Quand tu as:
    "le calcul que me fait access n'est pas exact : avec 14:12 et 14:52 il me donne une durée de 0,02777778"
    c'est correct!!! car égal à 40mn, soit 0.02777778 jour!
    Si tu le multiplie par 60, tu l'aura en heures... ([Heure Fin]-[Heure Début])*60)
    Si tu le multiplie 60 par 24, tu l'as en jours! ([Heure Fin]-[Heure Début])*60*24)


    Pour ce qui est de l'heure automatique, dans ta table, tu mets Date() en valeur par défaut.

    Bon courage!

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Personelement je préfère utiliser DateDiff qui te permets de choisir l'unité du résultat (je travaille généralement en secondes) puis après je divisie par 3600 pour avoir les heures et 60 pour avoir les minutes.

    Mais tu peux aussi faire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    dim result as string
    dim hh as single
    dim mm as single
    dim ss as single
     
    hh=datediff("h",dateDeb, datefin)
    mm=datediff("n",dateDeb, datefin)-(60*hh)
    ss=datediff("n",dateDeb, datefin)-(60*mm)-(3600*hh)
    result=cstr(hh) & ":" & format$("00",mm) & ":" &  format$("00",ss)
    Je trouve cela plus clair que de jouer avec des fractions de jour.

    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.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 37
    Par défaut
    bonjour

    Je suis finalement passée par "propriétés" et "masque de saisie", j'ai demandé le format 00:00 et il accepte.

    Par contre je ne parviens toujours pas à utiliser l'insertion automatique pour mon calcul. Le top serait que quand la personne commence le formulaire l'heure s'inscrive, et qu'en fin de formulaire la nouvelle heure s'inscrive également. ainsi access pourrait calculer la durée de l'appel et de son traitement.

    Est-ce possible ?

    Merci

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

Discussions similaires

  1. Comment calculer une limite ?
    Par Pushka07 dans le forum SQL Procédural
    Réponses: 14
    Dernier message: 06/09/2006, 21h06
  2. [MySQL] Aide pour calculer une durée
    Par Sandara dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/06/2006, 17h00
  3. [C#] Comment calculer une opération à la volée ?
    Par david71 dans le forum Windows Mobile
    Réponses: 4
    Dernier message: 25/04/2006, 12h34
  4. Comment calculer une dérivée
    Par guintolli dans le forum Mathématiques
    Réponses: 6
    Dernier message: 06/02/2006, 20h05
  5. Calculer une duree entre 2 dates
    Par d.w.d dans le forum C++
    Réponses: 7
    Dernier message: 02/03/2005, 22h39

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