Guys,
Somebody help me out with this logic, I'm struggling.
I have a ProcessStartDateTime.
I have a ProcessTime in minutes.
I have a WorkingTimeSetting that gives the hours to be worked.
I need to get the ProcessEndDateTime.
This didn't appear too difficult until I start thinking about weekends. I'm ignoring public holidays for now !
Here's what I have so far, not sure what its giving me just yet, still trying to work it out.
Code:Private Function GetEndDate(worktime, startdate, ProcessTime) As Date Dim HoursPerWeek, MinutesPerWeek, HoursPerDay, NumberOfWeeks, ExtraHours, NumberOfDays, enddate ProcessTime = 5400 ' 2.25 '4800 = 2 HoursPerWeek = Right(Left(worktime, 3), 2) MinutesPerWeek = HoursPerWeek * 60 HoursPerDay = HoursPerWeek / Left(Right(worktime, 5), 1) NumberOfWeeks = ProcessTime / MinutesPerWeek WholeWeeks = Round(NumberOfWeeks, 0) ExtraHours = (NumberOfWeeks - WholeWeeks) * HoursPerWeek ProcessHours = ProcessTime / 60 NumberOfDays = ExtraHours / HoursPerDay enddate = DateAdd("ww", NumberOfWeeks, startdate) + NumberOfDays + (ExtraHours / 24) 'If DayOfWeek(enddate) = Saturday Then enddate = enddate + 2 GetEndDate = enddate ' worktime examples ' cbo_worktimes.AddItem ("(40h) 8hr 5days") ' cbo_worktimes.AddItem ("(48h) 8hr 6days") ' cbo_worktimes.AddItem ("(72h) 12hr 6days") End Function




Reply With Quote