Access Requete SQL pour un cumul de temps

Abouportant Messages postés 13 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 2 mars 2008 - 29 févr. 2008 à 15:43
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 1 mars 2008 à 14:34
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;

10 réponses

MasterCent Messages postés 83 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 14 décembre 2011 1
29 févr. 2008 à 16:08
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,
...

Philippe
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 févr. 2008 à 16:15
Très exact MasterCent.
Mais convertir en seconde c' est mieux.

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 févr. 2008 à 16:24
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>
0
Abouportant Messages postés 13 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 2 mars 2008
29 févr. 2008 à 21:34
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 févr. 2008 à 21:48
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>
0
Abouportant Messages postés 13 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 2 mars 2008
29 févr. 2008 à 22:05
re il est de type DATE/HEURE
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
1 mars 2008 à 12:33
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.







<hr />

... Y'en a même qui disent qu'ils l'ont vu voler.



<hr />





/PRE>
0
Abouportant Messages postés 13 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 2 mars 2008
1 mars 2008 à 12:46
merci LIBRE_MAX mais serait il possible davoir le résultat de ma requete directement en heure?
0
Abouportant Messages postés 13 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 2 mars 2008
1 mars 2008 à 12:52
Re je voulais dire plutot en format Heure par exemple 34:50 a la place de 34,50
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
1 mars 2008 à 14:34
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>
0
Rejoignez-nous