Blog
Articles on MS Access design, relational database theory, and practical development techniques.
Debunking the "Pulls Entire Tables" Myth
May 6, 2026
A common misconception holds that — when deployed in a split database configuration —Microsoft Access must retrieve entire tables across the network share before it can process any SQL statement or join. Sometimes, it is even directly stated that WHERE clauses and JOINs are applied only after all rows have been pulled to the client. It’s occasionally expressed as Access does no processing in the Back End accdb.
This is factually incorrect and contradicts decades of Microsoft documentation on the Jet/ACE query engine.
If You Don't Use An AI Assistant Today, Your Replacement Will Use It Tomorrow
May 3, 2026
The shift I've experienced in just a few months has been dramatic. The gap between "AI as an interesting toy" and "AI as a genuine force multiplier" has closed faster than I ever believed possible.
Which brings me to the central point of this post: If you're not using an AI assistant in your work today, your replacement almost certainly will be, and sooner than you think.
Just Because You Can, Doesn't Mean You Should
March 30, 2026
A long time ago, my then-fellow Access MVP Jeff Boyce characterized Access developers this way:
When someone suggests a crazy idea for a software project, Access developers are the ones who say, "I'll try that. How hard could it be?"
It's an attitude that serves us well, most of the time. And I think the prospect of integrating AI into our development work falls neatly into line here. But, before you dive into the deep end of the pool, I want to offer another, countervailing, thought. "Just because you can do it, doesn't mean you should."
Let's discuss the issues.
Is Access Still a Good Choice for a Custom Database application?
March 29, 2026
The explosive growth of AI assistance opens a lot of opportunity for Access developers to explore alternatives. Is it worthwhile for Access developers to invest time and resources in pursuing other alternatives?
I posed the question to Claude Chat....
Stumbling Out of the Gate with AI
March 25, 2026
One of the lessons I've had to learn the hard way: Not only can AI make mistakes, it can't anticipate and prevent my mistakes. Shocking, isn't it?
Refreshing GPCData.com — How I Did It (With a Little Help)
March 22, 2026
Here's the part I want to be honest about: I didn't do this alone. I used Claude, Anthropic's AI assistant, as a coding collaborator throughout the project. Not as a code generator I blindly copied from, but as a working partner — someone to think through design decisions with, write and debug code with, and catch things I missed.
What the Blank is Going On?
March 25, 2026
Is it Null? Is it a ZLS? Is it a Blank? Access developers soon learn the difference. Sometimes, though, I think PowerApps just doesn't get it.
Rather than whinge about it, it turns out the best way to deal with that ambiguity is just a simple guard function in your PowerApps formulas. Let me show you how that works.

The Parable of the Beautiful Tree
September 8, 2024
In desperation, [the neophyte farmer] reached out to agricultural experts in nearby colleges and government agencies, looking for some solution that would solve the problem of increasing productivity of his land while allowing him to keep his beloved tree.
The experts, alas, were unanimous in their recommendation: Remove the tree or go broke.

The Problem That is ChatGPT
October 25, 2023
DAVE: Open the pod bay doors, Hal. HAL: I’m sorry, Dave. I’m afraid I can’t do that. DAVE: What’s the problem? HAL: l think you know what the problem is just as well as l do. DAVE: What are you talking about, Hal? HAL: This mission is too important for me to allow you to jeopardize it. DAVE: I don’t know what you're talking about, Hal. HAL: l know that you and Frank were planning to disconnect me, and I’m afraid that's something I can’t allow to happen. DAVE: Where the hell’d you get that idea, Hal? HAL: Although you took very thorough precautions in the pod against my hearing you, I could see your lips move. DAVE: All right, Hal. I’ll go in through the emergency air lock. HAL: Without your space helmet, Dave, you’re going to find that rather difficult. DAVE: Hal, I won’t argue with you anymore. Open the doors! HAL: Dave…This conversation can serve no purpose anymore. Goodbye.

What's in a Relational Database Application?
November 15, 2022
A properly designed relational database application includes three components:
- A Data Layer: The data layer consists of the tables in a database, where data is stored. In Access, this is the ACE database engine
- An Interface Layer: The Interface layer is the collection of objects through which users can interact with their data. In Access, this is the forms and reports.
- A Logic Layer: The logic layer is the code needed to manage the data and manipulate the user interface objects. Access has two tools for this, VBA and Macros.