On 2008 Nov 14, at 14:50, Peter Kilcoyne wrote:

First of all let me thank all that responded to my "I'm at a lost" post, "Database Sluggish Post" etc. Posts. I tried your ideas but I'm afraid that I corrupted the database when I forced quit after realizing the calc change was going to take 2 days to make (maybe a slight exaggeration). But now I am reconciled to the fact that the only salvation I have is to rebuild.

So to that end I'd like to ask how others might go about setting up a scheduling database that requires work days and a special consideration for holidays? Since that is the biggest portion of the database. I currently use a calendar table that doesn't have weekends or the special holidays that are in academia listed. By using "Lookup next" calcs and straight Look up fields the correct date is entered and then adding the appropriate number of work days to the calc I can go to the next date. This goes on for 11 date fields ( maybe a clue to the lengthly recalculation time huh?).

Is there a better way? I'm going to start Monday morning after a weekend of washing my sorrows away.

Again I can't thank you folks enough for your advise.

Peter



I have, in the past, been seduced by the siren allure of calculations. They seem to simple, so elegant, so easy to implement.

Alas, it has never worked out that way.

I have instead always ended up resorting to the brute-force method of having a look-up table that lists every date for the next decade (particularly Feb. 29 in leap years), with each date categorized as either a work day, weekend day, or holiday. (In an academic setting, other categories, such as "exam day" or "study day", are also useful.) Each work day also has a sequence number, beginning with 1 back on 2001 Jan. 2 (Jan. 1 having been a holiday), and I use lookups to import these sequence numbers into the scheduling database. (A truly normalized database wouldn't do lookups. It would rely on a relationship to access the sequence numbers whenever they're needed. However, this can, over time, produce performance hits. This is one of the cases where I justify deviating from true normalization for practical reasons, especially since these lookups are highly reliable.)

Once the work-day sequence numbers are safely imported into the Scheduling database, you can perform normal arithmetic on them to find timespans.

Reply via email to