Group:  Microsoft Access ยป microsoft.public.access.modulesdaovba
Thread: working hours counter in Access

DotNetBag
.NET Development Newsgroups

HTVi
TV Discussion Newsgroups

Our Hot Pick: Rising Antivirus 2006 - Certified by TUV & Checkmark! Get 10% discount by entering this coupon code: ONDISCOUNT10
Rising Antivirus 2006

working hours counter in Access
Tony P 21.09.2006 08:41:03
Good Morning, Well it is Here anyway.

I am trying to get a counter to work in access which starts at say 09:00 and
stops at 17:00 restarting again the following morning, but not weekends.
The counter I have at the moment you will probably find rather crude but hey
it works. I have used.
Option Explicit
Function ElapsedTimeString(dateTimeStart As Date, dateTimeEnd As Date,
nameofform, nameofsubform) As String

Dim interval As Double, str As String, days As Variant
Dim hours As String, minutes As String, seconds As String

If IsNull(dateTimeStart) = True Or _
IsNull(dateTimeEnd) = True Then Exit Function

interval = dateTimeEnd - dateTimeStart

days = ((DateDiff("d", dateTimeStart, dateTimeEnd)) _
- ((DateDiff("ww", dateTimeStart, dateTimeEnd, (1)) - Int((1) =
Weekday(dateTimeStart))) _
+ ([Forms](nameofform)(nameofsubform)!BOB) + (DateDiff("ww",
dateTimeStart, dateTimeEnd, (7)) - Int((7) = _
Weekday(dateTimeStart)))))

hours = Format(interval, "h")
minutes = Format(interval, "n")
seconds = Format(interval, "s")

' Days part of the string
str = IIf(days = 0, "", _
IIf(days = 1, days & " Day", days & " Days"))
str = str & IIf(days = 0, "", _
IIf(hours & minutes & seconds <> "000", ", ", " "))

' Hours part of the string
str = str & IIf(hours = "0", "", _
IIf(hours = "1", hours & " Hour", hours & " Hours"))
str = str & IIf(hours = "0", "", _
IIf(minutes & seconds <> "00", ", ", " "))

' Minutes part of the string
str = str & IIf(minutes = "0", "", _
IIf(minutes = "1", minutes & " Minute", minutes & " Minutes"))
str = str & IIf(minutes = "0", "", IIf(seconds <> "0", ", ", " "))

' Seconds part of the string
str = str & IIf(seconds = "0", "", _
IIf(seconds = "1", seconds & " s", seconds & " s"))
ElapsedTimeString = IIf(str = "", "0", str)

End Function

Is anyone able to assist. Is it even possible?

Many Thanks
Tony

Home | Search | Terms | Imprint | Contact
Newsgroups Reader - provided by WiredBox.Net