OVH Cloud OVH Cloud

calcul horaire

4 réponses
Avatar
fred
Bonjour,

dans une requ=EAte, ou un =E9tat, je souhaite effectuer des=20
calculs sur des heures (soustraction d'une heure de=20
d=E9part et d'arriv=E9e pour calculer une attente par=20
exemple). Comment faire car la soustraction de 2 horaires=20
me donne un chiffre d=E9cimal?

merci d'avance

4 réponses

Avatar
mick
salut

je viens de faire un test sur un form 3 champs qui vienent d'une table ou j'ai 3 champs type date et format 'short time'

mes 3 champs sont dep, arr, et res

quand je fais res = arr-dep je trouve bien une heure...

comment a tu défini tes champs
A
Mick
Avatar
Eva
mick a raison

si tu affiche le résultat dans un champ, pense a mettre
sa propriete format au format Heure, réduit par exemple.

Il est normal que tu trouve un nombre décimal, c'est le
format de stockage des date et heures d'access. A gauche
de la virgule c'est la date et a droite c'est l'heure.
Alors quand on ajoute ou supprime un peu tout ça, cela
donne défois des résultats étonant, mais avec le bon
format cela devrait s'arranger.
Sinon crée une fonciton dans un module,et tu l'apelle
depuis ton état ou ta requete.
Attention aussi, regarde dans l'aide les fonctions de
découpage des date et heure datepart, dateadd... (ou
ajdate en francais)

bon courage !-)

-----Message d'origine-----
Bonjour,

dans une requête, ou un état, je souhaite effectuer des
calculs sur des heures (soustraction d'une heure de
départ et d'arrivée pour calculer une attente par
exemple). Comment faire car la soustraction de 2
horaires

me donne un chiffre décimal?

merci d'avance
.



Avatar
fred
-----Message d'origine-----
mick a raison

si tu affiche le résultat dans un champ, pense a mettre
sa propriete format au format Heure, réduit par exemple.

Il est normal que tu trouve un nombre décimal, c'est le
format de stockage des date et heures d'access. A gauche
de la virgule c'est la date et a droite c'est l'heure.
Alors quand on ajoute ou supprime un peu tout ça, cela
donne défois des résultats étonant, mais avec le bon
format cela devrait s'arranger.
Sinon crée une fonciton dans un module,et tu l'apelle
depuis ton état ou ta requete.
Attention aussi, regarde dans l'aide les fonctions de
découpage des date et heure datepart, dateadd... (ou
ajdate en francais)

bon courage !-)

-----Message d'origine-----
Bonjour,

dans une requête, ou un état, je souhaite effectuer des
calculs sur des heures (soustraction d'une heure de
départ et d'arrivée pour calculer une attente par
exemple). Comment faire car la soustraction de 2
horaires

me donne un chiffre décimal?

merci d'avance
.

.

je vous remercie beaucoup. En effet, cela fonctionne
avec un troisième champ type "date/heure"



Avatar
Option Compare Database
Public h, m, hd As Variant


Function MonHeure(myhour)
h = Int(myhour)
m = Int(((myhour) - h) * 60)
MsgBox (h & ":" & m)
End Function

où myhour est le nombre décimal obtenu par la diff des
deux heures
attention : lorsque la diff >24h la fonction devient +
complexe !

bon courage
-----Message d'origine-----
Bonjour,

dans une requête, ou un état, je souhaite effectuer des
calculs sur des heures (soustraction d'une heure de
départ et d'arrivée pour calculer une attente par
exemple). Comment faire car la soustraction de 2 horaires
me donne un chiffre décimal?

merci d'avance
.