Forum Discussion

MyoshiaBoykin-A's avatar
Qrew Trainee
3 months ago

Repeating calendar events

Is there a way for me to create a table of events that mirror Outlook's recurring appointment functionality? Example: Daily, Weekly, Monthly, Yearly recurring events.  Here is the scenario:

I have a simple table of events (Name, Date, Duration).  I create one event (Weekly Status Meeting, 3/18/24, 60 mins).  I would like to be able to select the period of time that I want this event to be duplicated (in this instance, I need Weekly until 7/31/24).

This is one example; however, I need a solution that would allow me to create Daily, Weekly, Monthly, Yearly events based on the existing date, and for a selected period of time (end date).

I hope this makes sense.

Myoshia Boykin-Anderson

1 Reply

  • It looks so easy in Outlook, doesn't it.   

    I have done this before and I will describe my general approach and then you can post back if you have more questions.  The key to making this work is to have a helper table that you load up from Excel with say 1000 records or the maximum number of days in the future you might want to go. In the Excel upload start numbering at zero and go up to say 1000.  

    I will describe a method which uses nested formula. You are all buttons, but this could also be done using a pipeline.  

    Make  another table called Event Settings with a single record in it and create fields there to hold the starting date and the end date, and they repeat cycle choices, such as daily weekly etc  also make a feel to hold the Record ID of the parent appointment record, because I assume you will have a table entry somewhere which defines the anchor appointment entry and then you would want all of its children appointments attached to the parent.  

    Then make a relationship from the Event Settings table that just has one record in it down to all of the helper table records. The record ID of this special record is 1 so the reference field in the Helper table will be just a formula numeric with a value of 1.

    For now, populate the event settings record with a representative, start date and end date and repeat Cycle, chosen off a multiple drop-down list.

    Look those values up down to the thousand record helper Table.  

    Next,  make a  formula field in the helper table to calculate the next 1000 dates starting at the start date and ending at the end date.

    Next, make a formula, checkbox field to calculate, whether or not that date meets the event settings repeat cycle.  It is probably beyond the scope of what I can answer on this community forum with that exact formula.  But for example, if the repeat cycle was daily, you're basically just going to Have the calculation be true if the date is between the start and end date.

    Forhave the calculation be true if the date is between the start and end date.

    For weekly it would be similar, except only if the day of the week was the same day of the week as the start date.

    for monthly you would be checking if the day number of the month for example the 14th was that same day of the month and of course you're going to have to decide what to do about allowing repeats for months where the meeting date is the 29th 30th or third 31st is not almond have those days. Probably best just to allow that.

    or else provide an option for last day of the month.

    OK so now you have your thousand record helper table and a bunch of those records have checkboxes saying they are valid for being imported and turned into repeating children.

    You can then create a  a Saved  table to table to copy those records into a target table and hook them up with their parent anchor record.

    so then, if I was making a formula URL button to execute this all in one click, the first URL would populate the event settings ID number one record, and then the second ORL would run the same table table, and then the third URL would probably land the user back on the original event anchor record.   

    The generalized syntax for making a formula URL to run three URL in a row is this.

    & "&rdr=" & URLEncode($URLTWO)
    & URLEncode("&rdr=" & URLEncode($URLTHREE))

    so give this a try and post back if you get stuck or else if you need someone on one assistance, getting this working, contact me directly by the email in my signature line 


    Mark Shnier (Your Quickbase Coach)