[AccessD] Question on hours

A.D.TEJPAL adtp at airtelbroadband.in
Tue Dec 5 11:42:18 CST 2006


Doris,

    When only time part is entered in a date/time field, assumed date part for both today and the day after (in fact, all days) becomes the same. Such a situation is not well suited for flat application of DateDiff() function

    Function named Fn_GetMinutes() as given below, should get you the time elapsed (in minutes). As the result returned by this function is a numerical value, it can be used in any mathematical operation as desired.

    Incidentally, for converting the elapsed minutes into a string  formatted as Hrs:Mins, function Fn_FormatMinutes() as given below, can be used. The result of function  Fn_GetMinutes() can be fed into this function, so as to display the time in Hrs:Mins format. (This formatted string is however not meant to be used for any further calculations).

Best wishes,
A.D.Tejpal

Fn_GetMinutes()
(Computes time elapsed in minutes)
==============================
Function Fn_GetMinutes(ByVal TimeStart As Variant, _
                           ByVal TimeFinish As Variant) As Single
    
    Fn_GetMinutes = 0       ' Default
    If IsDate(TimeStart) And IsDate(TimeFinish) Then
        TimeFinish = IIf(TimeFinish >= TimeStart, TimeFinish, _
                            1 + TimeFinish)
        Fn_GetMinutes = (TimeFinish - TimeStart) * 1440
    End If
End Function
==============================

Fn_FormatMinutes()
(Formats minutes As Hrs:Mins string)
==============================
Function Fn_FormatMinutes(ByVal Minutes _
                                    As Variant) As String
    Dim Txt As String, Hrs As Long, Mins As Long
    
    Txt = "00:00"       ' Default
    If Minutes > 0 Then
        Hrs = Int(Minutes / 60)
        Mins = Minutes Mod 60
        Txt = Format(Hrs, "00") & ":" &  _
                                    Format(Mins, "00")
    End If
    
ExitPoint:
    Fn_FormatMinutes = Txt

End Function
==============================

  ----- Original Message ----- 
  From: DorisH3 at aol.com 
  To: accessd at databaseadvisors.com 
  Sent: Tuesday, December 05, 2006 09:30
  Subject: [AccessD] Question on hours


  I have a table that maintains the Volunteer Number, Time In, Time Out, Date Worked.  I have put together a report using a query that shows the  volunteers name, volunteer number, date worked, time in, time out.  On the  report I show all of the fields that are contained in the query along with a  calculation TimeOut - TimeIn which I named Hours.  My report looks like  this
   
  Name               Vol#     Date              TimeIn        TimeOut        
  Hours
  Alice White     1099
                                   10/1/06         4:00  PM     7:00  PM        
    3
                                    10/5/06         4:00  PM     7:00  PM       
     3
   
  10/7/06         4:00  PM     7:00  PM          3
                                    10/10/06       4:00  PM     7:00  PM        
    3
   
  In the group footer I did a calculation as follows =Sum([Hours])  and  in the report footer I did the same.
   
  It appears that anything under 24 hours calculates OK, anything over 24  hours is incorrect....can anyone help me...I am a novice at this so I apologize  ahead of time.
   
  Doris



More information about the AccessD mailing list