AutoHotKey Size Matters Testing your program for small screens? You could change your own monitor's resolution, but that gets annoying real fast. Here's a better way.
AutoHotKey Expand Your Access Palette Use AutoHotkey to bring consistency to your Access color schemes and save time when designing forms.
Signal vs. Noise Signal vs. Noise My approach to software development in four words: Less noise. More signal.
Code Library Code Library Updates Q: How do you manage updates to code library modules? A: Version control and backward compatibility zealotry.
AutoHotKey A Mind-Reading Script What if you could highlight any text, press a hotkey, and have Windows do what you want almost every time? You'd have my top productivity hack.
AutoHotKey Debugging VBA with no Break Key Ever use a keyboard without a Pause/Break key? It's no big deal for most people, but if you develop in VBA it's a huge deal.
Hidden Features Blast From the Past Why use keyboard shortcuts from Access 2003 when developing in 2020? Because starting with Access 2007, the new shortcuts suck.
Intermediate Cleaner IntelliSense How to clean up your object's auto-complete dropdown list when it starts to look like that of the MacBook Wheel.
Intermediate Dependency Injection (sort of) For a few common dependencies, we can cheat by using a singleton class. Within that class, we'll type those dependencies as interfaces.
Intermediate Cookie Cutter Forms How do you reuse a form with external dependencies in multiple projects? Interfaces.
Intermediate Backward-Compatible Refactoring How can you completely change the way you interact with a class without breaking backward compatibility? Interfaces.
Intermediate Interfaces, Conceptually Interfaces can be a difficult concept to grasp conceptually. To help make sense of the concept, consider these real world examples.
Hidden Features VBA Alchemy: Turning Methods Into Properties One can check the status of screen painting in Excel, but not in Access. This turns out to be an important shortcoming. Let's remedy it.
Code Library Creating Optional Dependencies Using conditional compilation to avoid the "Dependency Train" problem.
Code Library The Dependency Train Let's torture a train metaphor to illustrate the dangers of dependency chaining.
Commentary The Golden Rule of Data Migrations The fastest and most reliable way to run a migration is to repeat it many times. I call this the "Repetition Paradox."
SQL Server Peeking Under the Hood Don't let these gotchas trip you up when using SQL Server as a backend for Microsoft Access.
Error Handling Graduate Level Error Handling Once again, I borrowed an idea from Python. To smuggle this concept into VBA, I turned to a rarely-used language feature...
Defensive Programming Defensive Programming Don't build digital Maginot Lines. Program your defenses in depth.
Conventions Enum Type Naming Convention The combination of "IntelliSense overload" and "global identifier case changes" convinced me I needed a different approach.