Suggestions on structuring a base


I am posting to seek your expertise and input regarding the creation of a training tracking base that will be solely dedicated to tracking training completion dates and outstanding employee training. With approximately eighty employees and thirty distinct types of training courses, it is essential for us to establish an efficient system that automates this process as much as possible.

The key requirements for the base include:

  1. Tracking completion of training courses on a yearly, bi-yearly, or quadrennial basis, based on the completion date of the respective training course.
  2. Minimizing the number of fields to avoid unnecessary complexity.
  3. Automatically resetting the due date after an employee completes their training.
  4. Keep employee records of the last training complete for the specific course.

I am currently in the process of determining the optimal design for this base, but I would greatly appreciate your insights and suggestions. As I am starting from scratch, any ideas to streamline the base design would be invaluable. I am guessing this would be similar to a subscription style base, but again trying to avoid additional work as I normally create extra work myself while designing, and then later realize that I could have made this much simpler with fewer fields and better formulas.


I have a similar training tracking base and I the way I have it structured, each training has four fields in the person’s record:

  • A date field that shows when the training was completed
  • A linked record field for who gave the training (links to a “Staff” table)
  • A formula field that calculates the expiration date:
IF({Training Date Field},
   DATEADD({Training Date Field},1,'year')
  • A formula field that acts as a quick Yes/No to show the person has completed the training:
IF({Training Date Field}=BLANK(),
   IF(DATEADD({Training Date Field},1,'year') < TODAY(),


  • The formulas make it easy to alter the expiration date for the various trainings. I even have one where the expirations are different based on the type of trainee. I’ve also got some of the Yes/No trainings that show partial completion for multi-part trainings.
  • The formula fields both use TODAY(), which I know is computationally expensive.
  • These four fields are part of the trainee record, so the trainee record gets pretty side-scrolly (we have about 15 trainings, so it adds up quick).

I would love to have it more streamlined, but it works for what we’re doing. Hope that helps!