comment faire pour utiliser cette fonction pour qu'elle puissent
retourner
Les heures minutes et secondes
Merci :)
--
Pierre Durand
http://www.geocities.com/cymonpir/
Surfer vous êtes payez : http://www.mediabarre.com/cgi-bin/mba?66852
ou aller sur www.alladvantage.com mon numéro de membre est le tbo-727
(encore plus payant !!! )
comment faire pour utiliser cette fonction pour qu'elle puissent
retourner
Les heures minutes et secondes
Merci :)
--
Pierre Durand
pdurand@informaticien.net
http://www.geocities.com/cymonpir/
Surfer vous êtes payez : http://www.mediabarre.com/cgi-bin/mba?66852
ou aller sur www.alladvantage.com mon numéro de membre est le tbo-727
(encore plus payant !!! )
comment faire pour utiliser cette fonction pour qu'elle puissent
retourner
Les heures minutes et secondes
Merci :)
--
Pierre Durand
http://www.geocities.com/cymonpir/
Surfer vous êtes payez : http://www.mediabarre.com/cgi-bin/mba?66852
ou aller sur www.alladvantage.com mon numéro de membre est le tbo-727
(encore plus payant !!! )
Bonsoir.
ce n'est pas aussi simple qu'on le dit.
tu peux utiliser une fonction que tu places dans un module standard à
laquelle tu passes les paramètres. la fonction s'appelle intervalle, elle
est à la fin de ce post. dans ton formulaire tu fais par exemple:
Private Sub Commande4_Click()
MsgBox Intervalle(#1/1/2004#, Now, J_H_M_S)
End Sub
le 3e paramètre indique le format que tu désires : J, J_H, J_H_M,
J_H_M_S
fonction à inclure dans le module:
Option Compare Database
Option Explicit
Public Enum FormatIntervalle
J
J_H
J_H_M
J_H_M_S
End Enum
Dim Date_début As Date
Dim Date_fin As Date
Dim Fmt As FormatIntervalle
Public Function Intervalle(Date_début As Date _
, Date_fin As Date _
, Fmt As FormatIntervalle) As String
On Error GoTo Err_Func
Dim Jours As Long, Heures As Long, Minutes As Long, Secondes As Long
Secondes = DateDiff("s", Date_début, Date_fin)
Jours = Int(Secondes / 86400)
Secondes = Secondes - (Jours * 86400)
Heures = Int(Secondes / 3600)
Secondes = Secondes - (Heures * 3600)
Minutes = Int(Secondes / 60)
Secondes = Secondes - (Minutes * 60)
Select Case Fmt
Case J
Intervalle = Format(Jours, "###0")
Case J_H
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00")
Case J_H_M
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00")
Case J_H_M_S
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00") & ":" & Format(Secondes, "00")
Case Else
Intervalle = "#Erreur"
End Select
Exit Function
Err_Func:
Intervalle = "#Erreur"
End Function
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre Durand" a écrit dans le message de
news:
comment faire pour utiliser cette fonction pour qu'elle puissent
retourner
Les heures minutes et secondes
Merci :)
--
Pierre Durand
http://www.geocities.com/cymonpir/
Surfer vous êtes payez : http://www.mediabarre.com/cgi-bin/mba?66852
ou aller sur www.alladvantage.com mon numéro de membre est le tbo-727
(encore plus payant !!! )
Bonsoir.
ce n'est pas aussi simple qu'on le dit.
tu peux utiliser une fonction que tu places dans un module standard à
laquelle tu passes les paramètres. la fonction s'appelle intervalle, elle
est à la fin de ce post. dans ton formulaire tu fais par exemple:
Private Sub Commande4_Click()
MsgBox Intervalle(#1/1/2004#, Now, J_H_M_S)
End Sub
le 3e paramètre indique le format que tu désires : J, J_H, J_H_M,
J_H_M_S
fonction à inclure dans le module:
Option Compare Database
Option Explicit
Public Enum FormatIntervalle
J
J_H
J_H_M
J_H_M_S
End Enum
Dim Date_début As Date
Dim Date_fin As Date
Dim Fmt As FormatIntervalle
Public Function Intervalle(Date_début As Date _
, Date_fin As Date _
, Fmt As FormatIntervalle) As String
On Error GoTo Err_Func
Dim Jours As Long, Heures As Long, Minutes As Long, Secondes As Long
Secondes = DateDiff("s", Date_début, Date_fin)
Jours = Int(Secondes / 86400)
Secondes = Secondes - (Jours * 86400)
Heures = Int(Secondes / 3600)
Secondes = Secondes - (Heures * 3600)
Minutes = Int(Secondes / 60)
Secondes = Secondes - (Minutes * 60)
Select Case Fmt
Case J
Intervalle = Format(Jours, "###0")
Case J_H
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00")
Case J_H_M
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00")
Case J_H_M_S
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00") & ":" & Format(Secondes, "00")
Case Else
Intervalle = "#Erreur"
End Select
Exit Function
Err_Func:
Intervalle = "#Erreur"
End Function
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre Durand" <pdurand@ivic.qc.ca> a écrit dans le message de
news:eN7yR6j0DHA.3116@TK2MSFTNGP11.phx.gbl...
comment faire pour utiliser cette fonction pour qu'elle puissent
retourner
Les heures minutes et secondes
Merci :)
--
Pierre Durand
pdurand@informaticien.net
http://www.geocities.com/cymonpir/
Surfer vous êtes payez : http://www.mediabarre.com/cgi-bin/mba?66852
ou aller sur www.alladvantage.com mon numéro de membre est le tbo-727
(encore plus payant !!! )
Bonsoir.
ce n'est pas aussi simple qu'on le dit.
tu peux utiliser une fonction que tu places dans un module standard à
laquelle tu passes les paramètres. la fonction s'appelle intervalle, elle
est à la fin de ce post. dans ton formulaire tu fais par exemple:
Private Sub Commande4_Click()
MsgBox Intervalle(#1/1/2004#, Now, J_H_M_S)
End Sub
le 3e paramètre indique le format que tu désires : J, J_H, J_H_M,
J_H_M_S
fonction à inclure dans le module:
Option Compare Database
Option Explicit
Public Enum FormatIntervalle
J
J_H
J_H_M
J_H_M_S
End Enum
Dim Date_début As Date
Dim Date_fin As Date
Dim Fmt As FormatIntervalle
Public Function Intervalle(Date_début As Date _
, Date_fin As Date _
, Fmt As FormatIntervalle) As String
On Error GoTo Err_Func
Dim Jours As Long, Heures As Long, Minutes As Long, Secondes As Long
Secondes = DateDiff("s", Date_début, Date_fin)
Jours = Int(Secondes / 86400)
Secondes = Secondes - (Jours * 86400)
Heures = Int(Secondes / 3600)
Secondes = Secondes - (Heures * 3600)
Minutes = Int(Secondes / 60)
Secondes = Secondes - (Minutes * 60)
Select Case Fmt
Case J
Intervalle = Format(Jours, "###0")
Case J_H
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00")
Case J_H_M
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00")
Case J_H_M_S
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00") & ":" & Format(Secondes, "00")
Case Else
Intervalle = "#Erreur"
End Select
Exit Function
Err_Func:
Intervalle = "#Erreur"
End Function
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre Durand" a écrit dans le message de
news:
comment faire pour utiliser cette fonction pour qu'elle puissent
retourner
Les heures minutes et secondes
Merci :)
--
Pierre Durand
http://www.geocities.com/cymonpir/
Surfer vous êtes payez : http://www.mediabarre.com/cgi-bin/mba?66852
ou aller sur www.alladvantage.com mon numéro de membre est le tbo-727
(encore plus payant !!! )
Bonsoir.
ce n'est pas aussi simple qu'on le dit.
tu peux utiliser une fonction que tu places dans un module standard à
laquelle tu passes les paramètres. la fonction s'appelle intervalle, elle
est à la fin de ce post. dans ton formulaire tu fais par exemple:
Private Sub Commande4_Click()
MsgBox Intervalle(#1/1/2004#, Now, J_H_M_S)
End Sub
le 3e paramètre indique le format que tu désires : J, J_H, J_H_M,
J_H_M_S
fonction à inclure dans le module:
Option Compare Database
Option Explicit
Public Enum FormatIntervalle
J
J_H
J_H_M
J_H_M_S
End Enum
Dim Date_début As Date
Dim Date_fin As Date
Dim Fmt As FormatIntervalle
Public Function Intervalle(Date_début As Date _
, Date_fin As Date _
, Fmt As FormatIntervalle) As String
On Error GoTo Err_Func
Dim Jours As Long, Heures As Long, Minutes As Long, Secondes As Long
Secondes = DateDiff("s", Date_début, Date_fin)
Jours = Int(Secondes / 86400)
Secondes = Secondes - (Jours * 86400)
Heures = Int(Secondes / 3600)
Secondes = Secondes - (Heures * 3600)
Minutes = Int(Secondes / 60)
Secondes = Secondes - (Minutes * 60)
Select Case Fmt
Case J
Intervalle = Format(Jours, "###0")
Case J_H
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00")
Case J_H_M
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00")
Case J_H_M_S
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00") & ":" & Format(Secondes, "00")
Case Else
Intervalle = "#Erreur"
End Select
Exit Function
Err_Func:
Intervalle = "#Erreur"
End Function
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre Durand" a écrit dans le message de
news:
comment faire pour utiliser cette fonction pour qu'elle puissent
retourner
Les heures minutes et secondes
Merci :)
--
Pierre Durand
http://www.geocities.com/cymonpir/
Surfer vous êtes payez : http://www.mediabarre.com/cgi-bin/mba?66852
ou aller sur www.alladvantage.com mon numéro de membre est le tbo-727
(encore plus payant !!! )
Bonsoir.
ce n'est pas aussi simple qu'on le dit.
tu peux utiliser une fonction que tu places dans un module standard à
laquelle tu passes les paramètres. la fonction s'appelle intervalle, elle
est à la fin de ce post. dans ton formulaire tu fais par exemple:
Private Sub Commande4_Click()
MsgBox Intervalle(#1/1/2004#, Now, J_H_M_S)
End Sub
le 3e paramètre indique le format que tu désires : J, J_H, J_H_M,
J_H_M_S
fonction à inclure dans le module:
Option Compare Database
Option Explicit
Public Enum FormatIntervalle
J
J_H
J_H_M
J_H_M_S
End Enum
Dim Date_début As Date
Dim Date_fin As Date
Dim Fmt As FormatIntervalle
Public Function Intervalle(Date_début As Date _
, Date_fin As Date _
, Fmt As FormatIntervalle) As String
On Error GoTo Err_Func
Dim Jours As Long, Heures As Long, Minutes As Long, Secondes As Long
Secondes = DateDiff("s", Date_début, Date_fin)
Jours = Int(Secondes / 86400)
Secondes = Secondes - (Jours * 86400)
Heures = Int(Secondes / 3600)
Secondes = Secondes - (Heures * 3600)
Minutes = Int(Secondes / 60)
Secondes = Secondes - (Minutes * 60)
Select Case Fmt
Case J
Intervalle = Format(Jours, "###0")
Case J_H
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00")
Case J_H_M
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00")
Case J_H_M_S
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00") & ":" & Format(Secondes, "00")
Case Else
Intervalle = "#Erreur"
End Select
Exit Function
Err_Func:
Intervalle = "#Erreur"
End Function
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre Durand" <pdurand@ivic.qc.ca> a écrit dans le message de
news:eN7yR6j0DHA.3116@TK2MSFTNGP11.phx.gbl...
comment faire pour utiliser cette fonction pour qu'elle puissent
retourner
Les heures minutes et secondes
Merci :)
--
Pierre Durand
pdurand@informaticien.net
http://www.geocities.com/cymonpir/
Surfer vous êtes payez : http://www.mediabarre.com/cgi-bin/mba?66852
ou aller sur www.alladvantage.com mon numéro de membre est le tbo-727
(encore plus payant !!! )
Bonsoir.
ce n'est pas aussi simple qu'on le dit.
tu peux utiliser une fonction que tu places dans un module standard à
laquelle tu passes les paramètres. la fonction s'appelle intervalle, elle
est à la fin de ce post. dans ton formulaire tu fais par exemple:
Private Sub Commande4_Click()
MsgBox Intervalle(#1/1/2004#, Now, J_H_M_S)
End Sub
le 3e paramètre indique le format que tu désires : J, J_H, J_H_M,
J_H_M_S
fonction à inclure dans le module:
Option Compare Database
Option Explicit
Public Enum FormatIntervalle
J
J_H
J_H_M
J_H_M_S
End Enum
Dim Date_début As Date
Dim Date_fin As Date
Dim Fmt As FormatIntervalle
Public Function Intervalle(Date_début As Date _
, Date_fin As Date _
, Fmt As FormatIntervalle) As String
On Error GoTo Err_Func
Dim Jours As Long, Heures As Long, Minutes As Long, Secondes As Long
Secondes = DateDiff("s", Date_début, Date_fin)
Jours = Int(Secondes / 86400)
Secondes = Secondes - (Jours * 86400)
Heures = Int(Secondes / 3600)
Secondes = Secondes - (Heures * 3600)
Minutes = Int(Secondes / 60)
Secondes = Secondes - (Minutes * 60)
Select Case Fmt
Case J
Intervalle = Format(Jours, "###0")
Case J_H
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00")
Case J_H_M
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00")
Case J_H_M_S
Intervalle = Format(Jours, "###0") & ":" & Format(Heures, "00") & ":"
&
Format(Minutes, "00") & ":" & Format(Secondes, "00")
Case Else
Intervalle = "#Erreur"
End Select
Exit Function
Err_Func:
Intervalle = "#Erreur"
End Function
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre Durand" a écrit dans le message de
news:
comment faire pour utiliser cette fonction pour qu'elle puissent
retourner
Les heures minutes et secondes
Merci :)
--
Pierre Durand
http://www.geocities.com/cymonpir/
Surfer vous êtes payez : http://www.mediabarre.com/cgi-bin/mba?66852
ou aller sur www.alladvantage.com mon numéro de membre est le tbo-727
(encore plus payant !!! )
PS à mon post précédent ...
Sous-entendu que [LaDate] est tout simplement égal à DateFin - DateDebut
.... bien sûr !
PS à mon post précédent ...
Sous-entendu que [LaDate] est tout simplement égal à DateFin - DateDebut
.... bien sûr !
PS à mon post précédent ...
Sous-entendu que [LaDate] est tout simplement égal à DateFin - DateDebut
.... bien sûr !
Bonjour Maxence.
tout simplement que la fonction doit retourner des valeurs bonnes.
fais cet essai :
MsgBox Format(Now() - #1/1/2004#, "dd hh:nn:ss")
MsgBox Intervalle(#1/1/2004#, Now, J_H_M_S)
la premiere fonction affiche : 2 11:23:25
la deuxième fonction affiche : 3 11:23:25
par défaut je prend 00:00:00 du jour de départ sinon l'heure indiquée
alors
que la première fonction débute le jour suivant à l'heure indiquée.
si tu indiques:
MsgBox Format(Now() - #1/1/2004 1:00:00 AM#, "dd hh:nn:ss")
MsgBox Intervalle(#1/1/2004 1:00:00 AM#, Now, J_H_M_S)
entre le 1er janvier 2004 01:00:00 et maintenant, il y a eu 3 jours et 10
h
alors que la 1ere fonction ne trouve que 2 jours et 10h.
on peut bien sûr rajouter 1 jour sans être sûr de la portabilité dans le
temps, mais expliquer à un débutant qu'un intervalle ne démarre que le
jour
suivant et que access ne sait pas le calculer n'est pas facile.
d'autre part la fonction est conçue pour pouvoir récupérer toutes les
valeurs en remplaçant les dim par des public et en les déplaçant dans les
déclaratives. ce type de conversion n'est pas fait en général pour un
simple
affichage mais pour des calculs ultérieurs, notamment séparer les jhms
dans
des contrôles distincts. c'était le but de la fonction à l'origine. Bien
entendu celui qui n'a besoin que d'un seul affichage peut très bien se
satisfaire d'une simple soustraction. une si longue explication pour une
seule ligne de code..........
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maxence HUBICHE" a écrit dans le message de
news:PS à mon post précédent ...
Sous-entendu que [LaDate] est tout simplement égal à DateFin - DateDebut
.... bien sûr !
Bonjour Maxence.
tout simplement que la fonction doit retourner des valeurs bonnes.
fais cet essai :
MsgBox Format(Now() - #1/1/2004#, "dd hh:nn:ss")
MsgBox Intervalle(#1/1/2004#, Now, J_H_M_S)
la premiere fonction affiche : 2 11:23:25
la deuxième fonction affiche : 3 11:23:25
par défaut je prend 00:00:00 du jour de départ sinon l'heure indiquée
alors
que la première fonction débute le jour suivant à l'heure indiquée.
si tu indiques:
MsgBox Format(Now() - #1/1/2004 1:00:00 AM#, "dd hh:nn:ss")
MsgBox Intervalle(#1/1/2004 1:00:00 AM#, Now, J_H_M_S)
entre le 1er janvier 2004 01:00:00 et maintenant, il y a eu 3 jours et 10
h
alors que la 1ere fonction ne trouve que 2 jours et 10h.
on peut bien sûr rajouter 1 jour sans être sûr de la portabilité dans le
temps, mais expliquer à un débutant qu'un intervalle ne démarre que le
jour
suivant et que access ne sait pas le calculer n'est pas facile.
d'autre part la fonction est conçue pour pouvoir récupérer toutes les
valeurs en remplaçant les dim par des public et en les déplaçant dans les
déclaratives. ce type de conversion n'est pas fait en général pour un
simple
affichage mais pour des calculs ultérieurs, notamment séparer les jhms
dans
des contrôles distincts. c'était le but de la fonction à l'origine. Bien
entendu celui qui n'a besoin que d'un seul affichage peut très bien se
satisfaire d'une simple soustraction. une si longue explication pour une
seule ligne de code..........
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maxence HUBICHE" <mhms@club-internet.fr> a écrit dans le message de
news:OYUOGym0DHA.2180@TK2MSFTNGP12.phx.gbl...
PS à mon post précédent ...
Sous-entendu que [LaDate] est tout simplement égal à DateFin - DateDebut
.... bien sûr !
Bonjour Maxence.
tout simplement que la fonction doit retourner des valeurs bonnes.
fais cet essai :
MsgBox Format(Now() - #1/1/2004#, "dd hh:nn:ss")
MsgBox Intervalle(#1/1/2004#, Now, J_H_M_S)
la premiere fonction affiche : 2 11:23:25
la deuxième fonction affiche : 3 11:23:25
par défaut je prend 00:00:00 du jour de départ sinon l'heure indiquée
alors
que la première fonction débute le jour suivant à l'heure indiquée.
si tu indiques:
MsgBox Format(Now() - #1/1/2004 1:00:00 AM#, "dd hh:nn:ss")
MsgBox Intervalle(#1/1/2004 1:00:00 AM#, Now, J_H_M_S)
entre le 1er janvier 2004 01:00:00 et maintenant, il y a eu 3 jours et 10
h
alors que la 1ere fonction ne trouve que 2 jours et 10h.
on peut bien sûr rajouter 1 jour sans être sûr de la portabilité dans le
temps, mais expliquer à un débutant qu'un intervalle ne démarre que le
jour
suivant et que access ne sait pas le calculer n'est pas facile.
d'autre part la fonction est conçue pour pouvoir récupérer toutes les
valeurs en remplaçant les dim par des public et en les déplaçant dans les
déclaratives. ce type de conversion n'est pas fait en général pour un
simple
affichage mais pour des calculs ultérieurs, notamment séparer les jhms
dans
des contrôles distincts. c'était le but de la fonction à l'origine. Bien
entendu celui qui n'a besoin que d'un seul affichage peut très bien se
satisfaire d'une simple soustraction. une si longue explication pour une
seule ligne de code..........
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maxence HUBICHE" a écrit dans le message de
news:PS à mon post précédent ...
Sous-entendu que [LaDate] est tout simplement égal à DateFin - DateDebut
.... bien sûr !