This one is for those that have nothing better to do or looking for challenge. Dates: Hiredate - user entered MidEvalDate - If you are a new hire it is 90 days after Hiredate - could be user entered or calculated based on hiredate FinalEvalDate - 90 days after MidEvalDate - could be user entered or calculated based on Mid Date AnnualEvalDate - 1 year after FinalEvalDate - always calculated from final date LastEvalDate - date of last known eval (could be Mid,Final or Annual) - always user entered NextEvalDate - when the next eval is due - always calculated based on when the last eval was (midi, final or annual) DaysEvalLate = # days one of the evals is past due The catch - TransferPromoteDate - if a staff is transfered or promoted then their probation starts over and the Mid, Final and Annual dates are calculated from this date - always user entered. Another problem - If you have been promoted or transfered and are a clerical person then your mid = 45 days from transpromote date and final = 90 days and if you are clinical then your mid = 90 days from transpromote date and final 180 days. I have wrestled with this and maybe one of you guenious have some easy logic. Preferred code is ASP or this could written in a SQL Stored Proc. Thanks * * * This message, including any attachments, is intended solely for the use of the named recipient(s) and may contain confidential and/or priveleged information. Any unauthorized review, use, disclosure or distribution of this communication(s) is expressly prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy any and all copies of the original message.