Bonjour quelqu'un pourrait m'aidé pour ma requete , je cherche a cumuler des durées mais dés que la durée dépasse 24H il ya un probléme
SELECT CDate(Sum(TempsPasse)) AS TempsTotal
FROM TempsPasse;
Bien que la question n'a semble t-il pas sa place dans un forum PHP,
je tenterai d'y répondre, car le problème est générique.
Sans avoir plus de détail, je dirais que le problème vient de l'unité.
Quel est le type du champ ? DateTime ou Numérique ?
A quoi corrrespond 1 : un jour ou une minute ?
SI le champ est de type dateTime, (DateTime est différent de TimeStamp Unix : cfr strToDate() )
4:00 coresspond en réalité a 1/24*4 soit environ 0,1666
4:00 + 22:00 = 1/24*26, soit 1 jour et Deux heures, donc le 2 janvier 1900 2:00
Solution : convertir un temps 4:00 en 240 minutes par exemple... : = [TEMPSPASSE] * 24 * 60.
Si besoin, l'inverse est possible pour traduire la somme en un nombre d'heures ou de jour,
...
Pourquoi ?
Parce que lors de l' opération inverse, si le nombre de minutes n' est pas rond, le reste de la division par 60 risque de poser problème. A moins d' y aller avec Partie Entière.
Je parle d' après ma propre expérience dans un prog de pointage ou il était question de capture de Time.(hh:mm:ss)
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
Re bonsoir je ne comprend pas comment utiliser cela dans ma requete "= [TEMPSPASSE] * 24 * 60" pourrait tu me donner plus d'aide je débute dans les requetes SQL
Rebonsoir,
Avant d' attaquer l' e^pression de la requête, il faudra répondre
à la question de MasterCent.A savoir à quoi correspond ton
champ TEMPPASSE.
De quel type il est et quel format il a.
Un exemple concret serait le bien venu.
A+
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
Bonjour,
Trop court mais bon !
Essaies ceci:
SELECT Sum((Hour(TempsPasse)*60)+Minute(TempsPasse))) AS TempsTotal
FROM TempsPasse;
le champ calculé TempsTotal sera de type numérique.
et représentera le total des minutess.
A toi d' en extraire le nombre de jour, le nombre d' heure
et ce qui en reste de minute.
beh justement !
Tu ne peux pas avoir directement 34:50 parceque l' heure 34 n' existe pas.
Et ça sera pareil pour les minutes si tu as 34:83., par exemple.
Tu dois donc interprèter le résultat comme étant :34 heures et 83 minutes.Et non pas l' heure 34:83.
Et c' est ensuite que tu pourras traduire en 1 jour 11 heures
et 23 minutes.Si tu vois ce que je veux dire.
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>