You can use Access to automate an excel spreadsheet into a trivial database, or you can think it all through first and build an application that will automatically handle many of your needs. The question is how much time you are willing and able to put in.
If you decide to do it up right, then you need to start by designing the database to meet your needs.
Take a trip over to MVP Roger Carlson's site at http://www.rogersaccesslibrary.com/forum/topic238.html and read his quick tutorials on database design. Do any two of his practice examples. You'll save dozens of hours of headbanging later by spending a couple of hours now.
I think you will have a table for items, one or two tables for contractors, and a table for the results of reviews.
The item table will have a key, the item name, some notes, and a review/maintenance frequency. It might also have a location. For the moment, let's say that the Frequency field is stored in terms of Days between maintenance events. If an item is scheduled to be maintenanced every 3 months, you'd store that as 90 days. (If a singel item might have two or more kinds of maintenance on different schedules, then you'd need to split this into two tables, one for the Items themselves, and one for each item's maintenance schedule.
Code:
tblItems
ItemID Autokey
ItemName Text
Notes memo
ReviewFreq Number (this tells the system how often to review the item)
or
Code:
tblItems
ItemID Autokey
ItemName Text
Notes memo
tblRequiredMaint
ReqID AutoKey
ItemID Number (FK to tblItems)
ReviewFreq Number (this tells the system how often to review the item)
MaintType Text (if you have a maint type table)
Notes Memo (explains what kind of maint if you don't have a maint table)
The contractor table, for now, can just have a key and all the contact information. If you get more contacts later, or a single contractor turns out to have three different addresses and several phone numbers, then we can break the table up into chunks.
Code:
tblContractor
ContID AutoKey
ContName Text
ContPhone Text
Notes memo
The review table documents what maintenance events have occurred. If you want to put a status on it, then these records can document future scheduled events as well. You would probably have a "fake" contractor on the contractor table for future scheduled maintenance that has not yet been assigned to a contractor. As ItsMe suggested, you could have different kinds of maintenance records, in which case you'd have a field for maint Type. Otherwise, that would be handled by the notes field.
Code:
tblReviews
RevID Autokey
RevDate Date
ItemID Number - FK to tblItems
ContID Number - FK to tblContractor
MaintType Text (if you have a maint type table)
Notes Memo (explains what kind of maint if you don't have a maint table)
Status (Text)