Date Recurrence Pattern

I need to replicate Outlook Task functionality in a table containing a list 
of tasks.  When the user checks the record as done, I want to generate a new 
record with the next due date based on the stored recurrence pattern for that 
taks.  Before I spend my wheels for hours/days, has anyone dealt with this 
kind of thing before?  


0
Utf
10/28/2007 8:05:00 PM
access.formscoding 7493 articles. 0 followers. Follow

1 Replies
1445 Views

Similar Articles

[PageSpeed] 7

As you probably guessed, Mitch, It's not a simple task. There are issues 
such as open-ended recurring appointments (theoretically into the future 
infinitely), and removing/rescheduling particular appointments in the 
series.

At the simplest level, your table might contain fields such as:
    StartDateTime  Date/Time  the date and time of the first appointment.
    Freq                Number      how often it recurs
    PeriodTypeID   Text           frequencey type, e.g. m, d, q, yyyy
    EndDate          Date/Time  when the series ends. Blank for open-ended.
The PeriodTypeID will be a combo offering value expressions for the period 
in the DateAdd() function.

Next, you need a counting table, i.e. a table with a record for each number:
    0
    1
    2
etc. up to 4000 or so (how ever many periods into the future you want to 
go.) There's code to populate such as table for you at the end of this 
article:
    http://allenbrowne.com/ser-39.html

Now you create a query that uses both tables. Do not use any join between 
the tables in the upper pane of table design. This gives you every possible 
combination, which is how you get the dates for the recurring appointments. 
You will end up with an expression like this in the Field row of the query:
    AppointDate: DateAdd([PeriodTypeID], [Freq], [StartDateTime])
In the query's WHERE clause, limit the results to dates before the EndDate 
like this:
    WHERE ((EndDate Is Null) OR (DateAdd([PeriodTypeID], [Freq], 
[StartDateTime]) <= EndDate))

That's the basic idea. The 4000 handles appointments that occur every day 
for the next 10 years. Adjust as needed.

If you need to be able to reschedule/remove individual appointments, create 
a table to hold each appointment. Fields:
    AppointID        which appointment this relates to.
    OccurNum       the occurrance number
    OccurDate       when this actually falls.
Use logic like the above to populate this table when a new recurring 
appointment is created. The query is essentially identical, but you turn it 
into an Append query to it adds records to the table. Primary key will be 
AppointID + OccurNum. You can now remove or reschedule specific OccurNum 
entries in the series. You can use cascading deletes so if the user deletes 
a recurring appointment, all occurances are deleted too.

It starts to get more messy where you need to:
- modify an existing series to a different starting date/time, with or 
without modifying existing appointments (including or not including 
out-of-sequence (rescheduled) date/times.)
- extend existing recurring appointments beyond the last OccurDate you 
allowed for.
- handle the sequence for other persons, who will have their own set of 
dates they cannot attend, but do need the same rescheduled appointments.

HTH.

-- 
Allen Browne - Microsoft MVP.  Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Mitch Powell" <MitchPowell@discussions.microsoft.com> wrote in message
news:50BA3367-985C-4995-B552-794EBCECCCAF@microsoft.com...
>I need to replicate Outlook Task functionality in a table containing a list
> of tasks.  When the user checks the record as done, I want to generate a 
> new
> record with the next due date based on the stored recurrence pattern for 
> that
> taks.  Before I spend my wheels for hours/days, has anyone dealt with this
> kind of thing before? 

0
Allen
10/29/2007 1:34:59 AM
Reply:

Similar Artilces:

filter by date and action
I have a table with three columns: Name Date Action Fred Today this Fred Today this Fred Today that Wilma Today this I want to sort by name and by date, but only if 'this' was done more than once on the same day, and not if 'that' was done on the same day,They have to perform this more than once, and they cannot have performed that on the same day. If not in excel, mssql maybe? Thanks, Harry On Aug 18, 1:53=A0pm, Harry <hamac...@gmail.com> wrote: > I have a table with three co...

Calculate Years/Months Between Dates and then Average
We are using the formula =DATEDIF(A1,NOW(),"y") & "." & DATEDIF(A1,NOW(),"ym") to calculate the years and months from an employee hire date. Is there an easy way to average the years and months for a group of employees with the results of that formula? You could use: =AVERAGE(A1:A10*1) Array-entered, meaning press ctrl-shift-enter. But you could also just change your current formula to: =1*(DATEDIF(A1,NOW(),"y") & "." & DATEDIF(A1,NOW(),"ym")) Then just use: =AVERAGE(A1:A10) which is *not* array-entered. ...

Transaction Date VS Business Date
Our accounting department needs/wants to have all RMS SO reporting by business date opposed to transaction date. Usually these are the same unless you have sales and batches that close after midnight. For our store I would like to set 3 a.m. as the business day closing time. So when I run any type of reports I would like to get the information for a business date (range) starting at 3 a.m. till 3 a.m. the next day. I guess I could accomplish this by subtracting 3 hours from all the transaction (date and) times but I would have to do this for every single report which would be a lot of ...

Post Dated Checks
I had to prepare some post dated checks and we did not have fiscal periods set up yet to match the dates of the checks. Currently the check batches are waiting to be posted. What is the best way to handle post dated checks? If I create new fiscal years to match these dates, I will end up having 4 Open years. Is this the only way to do it? You can manage post dated checks in Microsoft Dynamics GP with the Payment Document Management module available on the Feature Pack 1 DVD image. For more info, take a look at MVP Mohammad Daoud's post on the subject at: https://communit...

Remove "Date: Yesterday" or "Date: Monday" from Outlook Inbox?
Outlook mail inbox now has headers that tell you what day the the email was sent. I find this visually annoying. Each emailalready has the time and day it was sent. I don't need the daily titles in the midst of the list of emails. How do I make them go away? I think you are talking about OL 2003 & the Arrange in Groups setting. Change it in View, Arrange by, uncheck Show in Groups. "silky" wrote: > Outlook mail inbox now has headers that tell you what day the the email was > sent. I find this visually annoying. Each emailalready has the time and day >...

strange date format problem
Hi, I downloaded some data on excel using Bloomberg. One column has dates and the other has numbers. Dates appear as 01/01/1980 format which I want in Jan-80 format. I have changed the format cell properties but it still appears as 01/01/1980. I have to goto individual cell and press F2 <enter> so see the effect. Dont know why? I cant even copy paste format after that .... TIA/amag I am not sure, but is your workbook set to Auto-Recalculate? Try pushing <F9> to do a manual re-calculation, see if that changes the formats. If it does, go to Tools (on the menu bar), Options, Ca...

How to sort by name then date?
I would like to look through all the emails to a particular person. If I click on the "To" column I can see all the emails to a particular person (actually there is a problem with that which I will mention next) but they seem to be in random order. Is there a way to have them sorted by date? (i.e. by name first, then by date). Actually, sorting on the "To" column does not get all the emails sent to a given email address. Because Outlook uses the "display as" field. It will often give different "display as" names to the same email address. C...

Concatenate including a date so that the date appears as a date
When I try to join the contents of several cells, one of which is a date and time obtained from =now(), the date and time part appears as a number. How can I make it appear as a date and time? I have tried changing the cell formats - probably there is a combination that works but I haven't found it. I also tried copying the original date cell to another cell and changing the latter cell's format and concatenating using that latter cell, but still no success. Use the TEXT function. For example, =TEXT(NOW(),"mmmm d, yyyy") would give January 6, 2010 "dd...

if statement with dates #2
I would like to have a statement like: IF(a1>0,1/1/2004) with 1/1/2004 beint a date. EXCEL is interpreting 1/1/2004 as an arithmetic statement and giving me the result of the arithemtic. I could put in the numeric offste for the date and write IF(a1>0,37987), formatting the cell as a date, but this seems awkward. What else can I do? TIA, Sanford ...

Count Unique Cells, within a date range (dates stored in separate column).
Hello All: I am attempting to create a formula that will count the number of unique cells (alpha-numeric) in an entire column (no set length, so ex: "$B:$B"). This count will be based on a date range (Between 2 dates). The dates are stored in another column (Ex: "$A:$A"). The following is an example of the cells. Dates PO_Num 1/2/2010 A123456 1/3/2010 B453453 2/2/2010 A123456 3/4/2010 C2342F3K 4/3/2010 123456 I would like to know a formula that can count the number of different PO's based on a given date range. Please help me if you...

Counting Dates?
=COUNTIF(A1:A100,"<" & NOW()) This works good for specific cells. I have a similar question. How would I do the same thing given that: 1) You only have a starting date 2) Your only wanting to count work days (in this case 4 day/wk) up to NOW() Thank you for all your help. Aviator On Thu, 6 Jan 2005 12:53:03 -0800, "Aviator" <Aviator@discussions.microsoft.com> wrote: >=COUNTIF(A1:A100,"<" & NOW()) > >This works good for specific cells. I have a similar question. > >How would I do the same thing given that: >1) You only ha...

An expression for dates from and to
I am trying to create an expression to select items from a date field falling from a certain date to a certain date. I am obviously missing something in my expression. The field name is DateComplete. How can I set up this expression to pull date from a certain date to a certain date? -- Ronnie Hi Ronnie, An example of the SQL would be: SELECT * FROM [TABLE NAME] WHERE DateComplete Between #1/1/2006# And #1/1/2007# ; On May 23, 3:52 pm, Ronnie <Ron...@discussions.microsoft.com> wrote: > I am trying to create an expression to select items from a date field falling > from a...

Returning only MAX(date) not all dates
I want to be able to list the most current date an item is checked out. As I was working through the query I used max as an aggregate function but I still can't get the simple result I want. I'd rather list the fields I have chosen and somehow select just the most current checkout date. Any help would be greatly appreciated. Here is my query: SELECT tblTerritory.TerritoryID, [TerritoryName] & " " & [TerritoryDescription] AS Description, tblTerritory.TerritoryTypeID, tblTerritoryType.TerritoryType, Max(tblTerritoryCheckout.DateCheckedOut) AS Checked...

System Date
Can anyone help me on how to force the system date to a member field of "Date" type? I could not find any help on msdn that comes with visual c++. Any hint or help will be appreciated. Thanks, Behrouzk Are you just trying to get the current date. You can use CTime::GetCurrentTime() or COleDateTime::GetCurrentTime() Tom "Behrouzk" <Behrouzk@discussions.microsoft.com> wrote in message news:D8FA4B6B-73CE-4058-B50C-C9BEBAB67E68@microsoft.com... > Can anyone help me on how to force the system date to a member field of > "Date" type? I could not fi...

Conditional Formatting
Hi, I have a spreadsheet that is for tracking work. I would like to have conditional formatting so that if the date in column E is between todays date and 4 weeks away then make it blue, if it is a date that is after 4 weeks away then make it yellow but if it is in the past make it red. Can this be done with conditional formatting or does it need vba? Also it would be nice if the whole row changes colour even if just the condition is on the date which is in column E - but if that can't be done then just the cell is fine. Thanks Assume the dates start in E2, select all dates w...

Time and date problem
Hello I have spreadsheet cell (B1) that contains a date and time: 05/11/2003 13:45:50 I have another series of cells (A1 to A100) that contain an increment of 30 seconds: 30.00 I would like to add the seconds to the date and time putting the result in column C, I have tried to do: =B1+(A1/100000) but the answer is wrong by 4 seconds and then gets worse the further down the column I go. Can somebody show me how to add the seconds to the date please. Thanks Tom Tom, Right method, wrong divider! 86,400 secs in a day.. change your 100000 to 86400 and you're there. Nikos Y. (nyannaco ...

Date subtraction -How to not show negative when 2nd date not entered
Hi, I have a section of a worksheet that just needs to show working days between two dates. For example, an order was entered on 9/2/07 and complete on 9/15/07 The formula =NETWORKDAYS(A1, A9) works perfectly except that until the "completed date" ise filled in, a negative number appears. Is there a way to have that remain blank until both dates have been entered? Thanks! Hi Edward, change your formula as =IF(A9="","",NETWORKDAYS(A1, A9)) -- Pranav Vaidya VBA Developer PN, MH-India If you think my answer is useful, please rate this post as an ANSWER...

PivotTable question
Thanks Debra, For some reason when on that Date field button in the Pivot table & choose the Group & Show Detail > Group I get a "Cannot group that selection" pop up message. I'll give the other tips a shot, I'm sure those will work. thanks again -- -= cj = ----------------------------------------------------------------------- -= cj =-'s Profile: http://www.excelforum.com/member.php?action=getinfo&userid=1467 View this thread: http://www.excelforum.com/showthread.php?threadid=26305 If the date column contains text, or blank cells, you'll see th...

Incorrect date in creation date field
I am having an issue when creating a template I am trying to use the date field called creation date but when it is inerted into the document it shows an incorrect date? For example the file was created and saved on May 26, 2006 but the creation date field show November 26, 2002. Has anyone else seen this problem? ...

Last Balanced Date
Does anyone know a quick way to get a list of accounts and the last date they were balanced? I'm finding myself having to select each account and manually check to see if it is up to date. I would think there would be a report of some kind that would display this somewhere, but I can't seem to find one. Any suggestions? Thanks in advance...Skip Skip, I've been thinking of the same exact question ever since I made the upgrade from Money 2004 to 2005. The ability to see the last balanced date across all accounts did exist in the 2004 version, and it was very useful. It...

Convert Text Entry to Date Format
Hello We were sent a large spreadsheet with hundreds of dates entered as text in this format: 04151985. Each entry has the green triangle in the upper left corner of the cells designating the data as text. We need to change the format to 04/15/1985. I have tried DateValue with no luck. I get a "#value" error I have also tried converting the text to a number first and then formating as a date using "format/cells" but I only get a string of pound signs ####. Please help. Thanks Art Sorry, I just read some of the archived postings and figured out the solution. ...

ERROR check if a date set entered violates a previous date set
I am devloping an excel program that has a list of date sets, not necessarily in sequencial order. What I want is an ERROR CHECK if a date set violates any date set previously entered. What I was looking for was that a discharge could not be typed in as follows: 1/10/04 to 4/20/04 2/10/04 to 3/20/04 The second date falls within the first and should be invalid setting off a message or an alert of an invalid entry. I am interested in making it idiot proof so that one could not enter dates within or covering dates already entered. This one really throws me, Please help. The answer to your quest...

sequential date
Is it possible to have in sequence a date value I require four dates the same before sequencing the next date, so 01/01/11 01/01/11 01/01/11 01/01/11 02/01/11 02/01/11 02/01/11 02/01/11 03/01/11 03/01/11 03/01/11 03/01/11 etc etc Cheers In A1 : initial date In A2 : =IF(COUNTIF($A$1:A1,A1)<4,A1,A1+1) copy down as needed. Daniel > Is it possible to have in sequence a date value > > I require four dates the same before sequencing the next date, so > > 01/01/11 > 01/01/11 > 01/01/11 > 01/01/11 > 02/01/11 > 02/01/11 > 02/01/11 > 02/01/11 > 03/01/1...

attempting to format a color pattern in tab 3, based tab 2 and tab
I have many cells of data on tab 1 (Actual data), it is replicated on tab 2 but with a different data set (Budget data), and tab 3 is the difference between those first 2 tabs and I want each of the cells on tab 3 to evaluate against tabs 1 and 2. In tab 3, if the same cell, say c3, in tab 1 is less than ABS of 1, AND the same cell in tab 2 is greater than ABS of 1, then the same cell, say C3, on tab 3 I want a color pattern of Blue, else no color pattern. Thanks for your help. Dear Muturboman, You can do this with Conditional Formatting ("Use a formula to determine ...

Date Intervals from dates
Hi, I've created a query that lists the dates between a start date and an end date. From the list of dates, i need to find the intervals between the dates and then find the average of that. How do I get the intervals in a column in the query. thanks heaps See: Subquery basics: Get the value in another record at: http://allenbrowne.com/subquery-01.html#AnotherRecord The example is for the previous meter reading so you can subtract from the current value, but it works the same for dates. -- Allen Browne - Microsoft MVP. Perth, Western Australia Tips for Access users - http:/...