![]() |
calculating vacation
This is killing me. I'm developing a vacation-tracking system, and I need to
calculate vacation based on anniversary date. Everything over 1 year is easy (Select Case). But less than a year it gets tricky. If they've been here less than six months, they accrue no vacation. They start accruing at a rate of 1.54 hours per pay period beginning at 180 days, and can use vacation in advance - so we need to know the amount of vacation available through the end of the year. (Day(Now)-Day(HireDate)/7*1.54?) But if their 6-month-anniversary was before January 1, then they accrue at the normal rate. And vacation does not carry over from year to year. Thanks in advance. -- Adios, Clay Harryman |
calculating vacation
OK - I'm still building the code so I can test this, but here's what I've got
so far: Select Case anniv Case Is < 2 LAccrualRate = 1.54 ' Calculate day of last day of hire year DtEndOfYear = CDate("12/31/" & CStr(Year(hiredate))) LCountDays = Day(DtEndOfYear) - Day(hiredate) ' Check to see if 180 days elapsed between hiredate and end of hire year If LCountDays 180 Then ' if so, was employee hired last year? If Year(hiredate) < Year(Now) Then ' if so, hours accrued = 80 LHoursRemain = 80 Else ' if not, hours accrued = weeks * 1.54 LWeeksWorked = LCountDays / 7 LHoursRemain = LWeeksWorked * 1.54 End If Else ' if 180 days not elapsed, hours accrued=0 LHoursRemain = 0 End If Case 2 To 4 LHoursRemain = 80 LAccrualRate = 1.54 Case 5 To 14 LHoursRemain = 120 LAccrualRate = 2.31 Case Is 14 LHoursRemain = 160 LAccrualRate = 3.08 End Select -- Adios, Clay Harryman "Clayman" wrote: This is killing me. I'm developing a vacation-tracking system, and I need to calculate vacation based on anniversary date. Everything over 1 year is easy (Select Case). But less than a year it gets tricky. If they've been here less than six months, they accrue no vacation. They start accruing at a rate of 1.54 hours per pay period beginning at 180 days, and can use vacation in advance - so we need to know the amount of vacation available through the end of the year. (Day(Now)-Day(HireDate)/7*1.54?) But if their 6-month-anniversary was before January 1, then they accrue at the normal rate. And vacation does not carry over from year to year. Thanks in advance. -- Adios, Clay Harryman |
All times are GMT +1. The time now is 11:14 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com