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 !
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 !
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
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 = [Heure Fin] - [Heure Debut]
Dans les deux cas tu affectes un format Horaire sur le champ calculé
Code : Sélectionner tout - Visualiser dans une fenêtre à part Duree:[Heure Fin] - [Heure Debut]
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
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![]()
Il suffit de formater le résultat en heure minute.
Et pour ta deuxième question, la réponse est oui
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
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!
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 :
Je trouve cela plus clair que de jouer avec des fractions de jour.
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)
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.
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
Partager