Tuesday/Thursday or Monday/Wed/Friday because the length would be messed up by the weekends(sorry i forgot to include these when i posted earlier. The other thing would be, say someone does the audit on a Tuesday because they forgot to do it on Monday, then the frequency would be off by a day, right?
Yes on both counts, so we need to develop a way to capture the day interval or the days of the week depending on the "type" of audit frequency.
Perhaps something like this, but I am just thinking out load here...
tblFrequencyType (by day or by day of week)
-pkFreqTypeID primary key, autonumber
-txtFreqType
tblFrequency
-pkFreqID primary key, autonumber
-txtFrequencyName
-fkFreqTypeID foreign key to tblFrequencyType
For those audits that occur by at regular day intervals: monthly, weekly, twice monthly, you will have 1 value related to each frequency. However, for those audits that occur on days of the week, you will have multiple values associate with the frequency. This describes a one-to-many relationship which requires a separate table.
tblFreqTimes
-pkFreqTimeID primary key, autonumber
-fkFreqID foreign key to tblFrequency
-longInterval
The longinterval field will hold either the number of days between audits or the day of the week (depending on the type). Assuming that Sunday is the first day of the week, if an audit needs to be carried out on Monday, Wednesday and Friday, you would have 3 records in tblFreqTimes where longinterval=2, 4, 6 respectively (you will have to set how you want to define the day of the week number).
Your table that holds the audit dates will also have to reference the fkFreqTimeID so that you can correlate the frequency or day of the week with the audit date. Of course, your query will become more complicated.
Any other ideas?