Convertir une heure:minute en Minute.

Fermé
jadami - 7 déc. 2017 à 10:33
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 7 déc. 2017 à 15:47
Bonjour,

Je voudrais convertir en minute un champ NbHeure format 1:30 , sur ma requête
de regroupement, je crée deux champs NbHeure et NbMinute :

NbHeure: Format(CDate([HoraireFin])-CDate([HoraireDébut]);'Heure, abrégé')

NbMinute: Format(Heure([NbHeure])*60+Minute([NbHeure]);'nn')

En premier j’obtiens un message « Entré la valeur de NbHeure » et sur le champ
NbMinute des 00.

Ou se trouve mon erreur ?

Salutations

2 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 7 déc. 2017 à 12:06
bonjour,
ta première erreur est que tu essaies de réutiliser dans une requête un champ résultant de cette même requête.

quel sont les types de HoraireFin et de HoraireDébut?

et ainsi?
NbMinute: 
Heure(CDate([HoraireFin])-CDate([HoraireDébut]))*60
+Minute(CDate([HoraireFin])-CDate([HoraireDébut])) 

ou bien:
NbMinute: 
24*60*(CDate([HoraireFin])-CDate([HoraireDébut]))
1
jadami Messages postés 103 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 18 septembre 2020
7 déc. 2017 à 15:02
Re Bonjour,

Merci pour la réponse.

Donc si j’ai bien compris, l’utilisation d’un champ de requête que l’on vient
de créer est à proscrire ?

Le champ que j’ai créé dans la table est du type Date/heure, format Heure, abrégé.

C’est celle-ci qui fonctionne :

NbMinute:
Heure(CDate([HoraireFin])-CDate([HoraireDébut]))*60
+Minute(CDate([HoraireFin])-CDate([HoraireDébut]))


Pour l’autre je pense que c’est un problème d’arrondi.
Résultat :
59,9999999999999
74,9999999999999

Salutations
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 7 déc. 2017 à 15:47
en effet, il n'est pas possible d'utiliser un champ de requête en cours de création.

suggestion:
round(24*60*([HoraireFin]-[HoraireDébut]))

les cdate sont inutiles, comme tu pars de dates.
0