Grover Park Consulting

Free Demos, Sample Databases and Resource Links for Access Relational Database Design

GPC's Fully Functional Sample Access Database Applications GPC Curated Links to Normalization Articles

Calls & Meetings--Contact Manager Database
Updated -- January 3, 2017
Contact Manager is an Access 2010-A2016 version of an application I built for a client several years ago. It tracks:

     Companies with whom you have contacts
     Contacts at those companies
     Calls to your contacts
     Meetings with your contacts.

You might use this basic version as a "starter" for your own purposes. Like all of my demos, it can be expanded if you wish. Feel free to make any changes needed to suit your situation. However, note that I can't be responsible for any use you make of the application.

Create a Membership Directory with images of each person
New -- October, 2019
Including images in forms and reports in Access requires very little design and programming beyond adding image control(s) and binding them to the appropriate image. Although Access does support storing images internally, that causes file bloat. Therefore, storing images externally and linking to them is highly recommended. This fully functional sample accdb, based on one of Microsoft's templates, illustrates adding images to forms and reports.

Dish Antenna Installations Database Installations
Updated -- August 9, 2012
Created to staunch the paperwork flood in an Dish Network Installer's business, Installations is a fully functional MS Access database in the accdb format. Try it out, "as is" on your own PC for free. It was custom-built, so it will not be of direct use to you without some modifications to fit your business rules. The instructions are included.

To try it out, create a folder for it on your hard-drive and save the compressed file ( to that folder. Double-click on the "ZIP" file to open and extract the files into that folder. Double-click on "Installations.mdb" to launch the 2003 version of the application, or on "Installations.accdb" to launch the 2010 version.

Please request a quote . If you'd like an estimate on a customized version of this tool for your organization.

The ZIP file contains Access 2003 and 2010-2016 versions.

GPC's Customized Northwind Sample Database
New -- February 2, 2016
I have often recommended the Northwind Access database as a good way to get started with table design based on valid normalization. It was a pretty good example. It's probably the most complete example of a retail sales application out there. Unfortunately, it also has undesirable design features that make it less than ideal as a "starter" for new developers.

That's always bothered me, so recently I took a closer look. It's more complicated than I had thought. It's not good or bad, just complicated. For a beginner, looking for ways to get started, that's a hurdle.

Object names contain spaces and non-standard characters This was my main concern, but it's worse when you read through the entire database and realize how intricate the VBA and macros have to be to handle those names.

Many Primary Keys retain the default name "ID", which Access assigns to all newly created Autonumbers.
This makes it really hard to track which ID came from which table in the many macros, procedures, queries, forms and reports.
Of course, if all of the references were fully qualified (e.g. "Orders.ID" instead of "ID"), then it would be less of a hassle. But we're talking about a sample database aimed, one assumes, mostly at new developers and power users not already expert at figuring this stuff out. If I have to work at it, how must they feel?

The code in Northwind is a combination of Macros--mostly embedded in forms, but also free-standing--standard VBA, and classes.
Not that many new Access users are comfortable with classing, even though it's a powerful tool.
To my way of thinking, this mixed mode approach to coding puts the Northwind sample database firmly on the wrong side of a line dividing "introductory" databases from "professional" database templates.

Because of these characteristics, customizing the Northwind sample to fit the needs of a different organization is anything but a simple task. And that is it's biggest drawback.

So, my customized version is a first step towards making it more accessible to non-pros. I changed all object names to the more conventional standard of having no spaces and no special characters in them.
I renamed all Primary Keys from "ID" to include the name of the table, e.g. "OrderID". This simple step should help new Access users follow the trail more easily. I know that more experienced users won't benefit so much, but this is not aimed at them, only the newbies, anyway.

Down the road, I'll tackle the code. My intention is to convert macros to VBA where it makes sense to do so. There are places where they do make sense.
Unfortunately, the power of the classing approach is too important, in my mind, to eliminate it, so it stays at least in this version and the next. We'll see after that.

If you decide to download and check out my revision, please let me know if you find any bugs in it.

GPC's Work Tracking Demo
Updated -- October 29, 2016
Download the full, working accdb or mdb version of GPC's Work Tracking Demo, with the VBA that makes it work. I originally built this tool for myself, to track time and efforts on projects for my clients. Over time I expanded it to include some rudimentary Project Management features,such as defining the deliverables for a project, scheduling major milestones, and prioritizing tasks. It's a little more than a timesheet and a little less than a project management tool. You may either use Work Tracking as-is or modify it to suit your needs.The current backend DB for my working version in on SQL Azure, but this one still works well as a starter. Please request a quote if you'd like an estimate on a customized version of this tool for your organization. NOTE: The "accdb" version is tested and works in Access 2007 through Access 2016, both 32 bit and 64 bit version. Although the accdb format is nominally "2007" for both versions, there can be differences between files created with 2007 and 2010- to 2016. I tried to ensure that none of those differences are present in this particular accdb.

I recent added code to track and record all changes to data in this version.
It creates an audit of data changes by user who made the change and the date and time on which the change was made.

Please report any bugs in this newest version, so I can fix them.

The change history function is NOT included in the mdb version. I don't expect many people are still using this version any longer anyway.

Like all of my samples and demos, this one is offered "As Is" with no guarantees of fitness for any particular purpose. Use it or modify at your own risk and with your own effort.

This ZIP file contains both mdb (tested in A2003) and accdb (tested in A2007 through A2016 and A2016 64 bit) versions. Only the accdb version contains the Change History Function.

I believe it's important that you understand what relational database applications are and how they work. The most important principal is that Relational Databases are NOT just super-charged spreadsheets. While there are many good references on the web to choose from, I've limited the list to these favorites.

Also check out Links to Other Access Resources page

Autonumbers - What They Are / Are Not
Updated -- April 24, 2004
Autonumbers White Paper at Utter Access

Crystal Long's ACCESS Basics for Programming
New -- July 21, 2006
ACCESS Basics for Programming at Utter Access

Danny Seager's FAQ on Reserved Words
Updated -- September 11, 2004
Danny Seager's FAQ on Reserved Words at Utter Access

Database planning tutorial Part I
New -- September 28, 2003
Glenn Lloyd's Tutorial at Utter Access

Database planning tutorial Part II
New -- October 25, 2003
Glenn Lloyd's Tutorial at Utter Access

Glenn Lloyd's FAQ on Design Strategies
New -- October 25, 2003
Glenn Lloyd's FAQ at Utter Access

Grover Park George's PDF on Normalization
Updated -- May 18, 2019
A practical, non-technical explanation of Normalization for Relational Database Applications.

Jerry Dennison's FAQ on Normalization
New -- April 8, 2003
Jerry Dennison's FAQ at Utter Access

MSKB 283878: Description of the database normalization basics
Updated -- May 10, 2017
Microsoft Article on Relational Database Normalization basics.

Noah's FAQ on Normalization
New -- December 8, 2003
Noah's FAQ at Utter Access

Presentation and sample db for Seattle Access User Group
New -- August 9, 2012
My Seattle Access User Group Presentation and sample db

Primary Keys - Natural vs Surrogate
New -- February 13, 2005
Primary Keys - Natural vs Surrogate at Utter Access
Put Stuff Where It Belongs
New -- November 12, 2013
Jack Leach's Whitepaper on Table Design

Roger Carlson's Access Blog
New -- March 7, 2011
Roger Carlson's Access Blog

©Copyright 2010-2019 Grover Park Consulting. All Rights Reserved.
Free Resources and Full Working Demos for Microsoft Access Database Design and Development