I work in Access and have written several programs currently in use at three sites. While I have not written one for controlling access to the RCA (i.e. login/logout/turnstile control) I have written a front end to mine data from two different access control programs and generate reports. In addition I have an air sample program (and another near completion) an instrument issue program started, a job Observation database, instructor qualification tracking program, and a trainee feedback program for use at the end of a training session. I also wrote a utility that can graph the results over time from a remote dosimeter or group of dosimeters using the remote teledosimetry system.
The one that seems closest to what you are asking about gathers data from the Oracle back end of the access control program at St. Lucie and automatically creates and distributes (by email) dose reports every night after midnight for the day before. There is one version for outage dose that uses several spreadsheets to estimate daily dose by RWP and Task and then compares the estimates to the actual dose received and makes reports and a couple of graphs broken down by departments or projects. The other version is used for non-outage dose and uses estimates by workgroup (and RWP) but the estimates are not as detailed and there are fewer reports. Actually, both 'versions' are in the same database, but they are separated into outage/non-outage functions. It also generates transaction reports (who went into the RCA when , on which RWP and how much dose) and RWP lists that show description, status and workgroup.
Almost everything I write is custom developed for each application. If you have a need, I would be happy to talk about it. If you are developing something and need assistance I may be able to help there or steer you to an excellent website where there are a lot of developers willing to help with questions I might not be able to answer.
Oh, yeah, almost forgot. I agree with Mike. You could do something in Excel, but I strongly recommend against it.