Intermediate Come Here Often? When designing a user experience (UX), the single most important question to ask yourself is this: How often will this feature be used?
Events The ArrowKeyNav Routine Enable Excel-like navigation in your continuous forms by overriding the default behavior of the up and down arrow keys.
Basic The DRY Journey Don't Repeat Yourself. It's the programmer's mantra. But how do you achieve it in VBA?
Intermediate Access Web Browser Control Documentation is scarce for the legacy Access Web Browser Control. And that makes Daniel Pineault's page a goldmine of information.
Intermediate Parameterized Constructors in VBA VBA does not allow for parameterized constructors. We can work around that, though, using the Factory pattern and a strong naming convention.
SQL Server Playing Telephone with SQL Server You won't believe how Access and SQL Server actually talk to each other. You're going to need to see this for yourself.
Intermediate Sources of Technical Debt Dealing with technical debt is no fun. It's better to avoid it in the first place. To help with that, here's a list of common sources of technical debt.
Intermediate Decompile Before Deployment Before deploying my Access applications, I like to strip them down to their bare bones.
Intermediate To Compile or Not to Compile With the proper deployment infrastructure in place, distributing uncompiled Access apps can simplify your life versus compiled Access apps.
Intermediate Short-Circuiting VBA? Beware of clever workarounds for missing language features. Sometimes the simple approach is best.
Intermediate Checklist: Better Access Applications Good. BETTER. Best. Is your Access application good enough to sell?
Intermediate The Subtle Dictionary Key Bug Always explicitly call the .Value property when using fields or controls as Dictionary keys. Else the bugs come crawling!
Intermediate Data Transfer Objects in VBA You can't create a collection of custom types in VBA. What can we do instead?
Intermediate VBA Code Generation Trick Using Notepad++ to transform existing code into a VBA string that generates itself.
Commentary Copying and Pasting Code with Purpose The first commandment of software development is, "Thou shalt not copy and paste code." Sometimes that's wrong.
Hidden Features Careful What You Watch For Can the simple act of creating a Watch change the behavior of your code while debugging? Why yes, yes it can.
Code Library KeepFormOnCanvas(): Get Back Here, Form! What happens if the user resizes their Access window so that our form can't open in its entirety? KeepFormOnCanvas() to the rescue!
Code Library Fun with Form Windows Using my FillAccessWindow function to resize Form and Report objects relative to the amount of available space on the Access canvas.
Intermediate Decompile then Deploy Save disk space and increase startup performance of your program updates by running /decompile before deployment.
Intermediate Debugging Sideways Images in Access Ever import a normal-looking image in Access, only to have it turn sideways on you in the image control? The problem may lie in the EXIF data.
Debugging Debugging Automation Errors Come join me on a journey debugging hard-to-reproduce "Automation error" bugs.
Code Library Environmentally Friendly Access Using the Windows Registry to manage Production, Development, and Testing environments in #VBA and #MSAccess.
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.