Grover Park Consulting
Free Demos and Sample Databases for Access Database Design and Development

Download a demo accdb with working code and sample data

Accounting Functions in a Tenant Billing Database
Examples of some Simple Accounting Functions (Charges, Invoices and Payments) in a Tenant Billing Database.

Check for an Existing Value in a Table
Does a Value already exist in a field in a Table? Find out before trying to add it. This sample Access database uses different validation methods, including the form's Error Event, to make sure values entered into fields are valid and not duplicated before they are committed to the table.

Create and Completely Hide a DUAL Table in Access
You can COMPLETELY hide a table in Access. This demo shows how.
     Dual tables have these characteristics:
         a) They are hidden, so users are not tempted to use them for other purposes.
         b) They consist of a single column and contain a single record.
         c) They are not editable.

Read more in my blog on this topic.

Lose Referential Integrity by splitting tables into multiple back ends
When an accdb grows too big, problems soon follow. The nominal maximum size of an accdb is 2GB. However, in most applications, the practical maximum size is much less. Unfortunately, one common suggestion offered to deal with "Access Bloat" is to split the tables out into multiple Back End accdbs.

What Happens When You Split Tables into Multiple accdbs? While that does reduce the size of each individual accdb, it comes at a hefty price: you lose the ability to enforce Referential Integrity between tables in the different accdbs. Within any single accdb, of course, you can still enforce RI, but not across them. And, as you probably already know, you cannot enforce RI from the Front End accdb when the tables are in a separate accdb.

The solution? If a compact & repair doesn't restore the BE to a manageable size, you will need to consider a more robust Relational Database Management Server (RDBMS) like SQL Server Express or SQL Server Developer Edition or MySQL.

The sample accdbs in this download illustrate a single accdb with interface and tables, a properly split accdb with FE and BE files, and a multiple BE split version, in which RI has been lost across the different accdbs.

Main form/subform designs support many-to-many relationships.
Here's one way to enter records in all three tables in a many-to-many relationship.

Two main form/sub form pairs allow the user to enter either songs or artists or both and slip back and forth easily between them.

Multi-Field Query By Form Searching Combo Box
A question at Utter Access also led to this one. We needed to filter records on a form, but we found Microsoft templates were too limited. I was challenged to make it work for a variety of situations and the result is the Multi-Field Filter Form sample accdb.

A second form models the method I use to search for a record using a selecting combo box. This one if very common and there isn't anything too unique in my approach. This requirement is very common; one more good example seems worthwhile.

Random Selection of "N" members in each Category
Randomly select "N" items from each of several categories with a Top "N" subquery. With no primary key, there is no way to order the subquery records. A temp table with randomly generated unique keys for each record solved that.

Bonus Code: Adding and deleting records in a temp table required creating a temp external accdb on the fly.

Travel "Pack" Demo
One-to-Many Relationships in a main form/subform design.

This demo, based on a travel scenario where groups of people travel together "in a pack", was created for someone at Utter Access . It is a good illustration of the main form/sub form design required to manage one-to-many relationships in a transaction scenario. The transaction itself (the journey, or travel) is tracked in the one-side table, and the details of the transaction (the "pack members" traveling together) are tracked in the many-side table.

VBA Code to Find Previous Weekday
This Access database, available in Access 2003 (mdb) and Access 2007 (accdb) formats, is fairly simple. it takes two arguments--a start date and a weekday--and returns the date in the prior 7 days on which that weekday falls.

It also has some simple language swapping in it to change captions on controls on the forms from one language to another (English and Español).

George Hepworth and Grover Park Consulting

During a 2½ decade career building and maintaining MS Access™ databases, I've given back to the Microsoft Access database developer community by serving as an administrator or contributor at Utter AccessLinked In and other Access sites.  

Microsoft has repeatedly awarded me as an Access MVP .  Recently, we've been moved into a new classification, "Office App & Services". Nonetheless, I will always think of myself as an Access MVP.


Key Access database concepts demonstrated in one or more of the free demos on this page include: Table Design and Normalization, Aggregate Functions including DLookup(), Form Level Error Handling, VBA Error Handling, Embedded Macros, User Defined System Tables for Application Level Constants, Public Enums to provide User-Friendly Names for Error Codes, Using Control Tags to Store Constants, Access Form Control Layout Grid, Completely Hiding Tables, Creating a Scratch accdb for Temp Tables, VBA to Export Tables, VBA to Export Querydefs, Deleting an External, Second accdb File, Load Performance of Combo Boxes with Large Recordsets, Pre-filtered Combo Boxes, Dynamic SQL to Load Single Record Recordsets, Cascading Combo Boxes

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