VBA Create Standalone Functions to Return User Input Values in Microsoft Access A combination of the GetInfoForm() function, custom VBA types, and "Extract Method" refactoring helps reduce our Access application's complexity.
VBA Standard String Concatenation in VBA is Slow and Inefficient A deep dive into the inner workings of string concatenation in VBA and why appending a single character to a long string can be so expensive.
VBA When–And When Not–To Use the Statement Separator Character in VBA Did you know you can combine lines of code in VBA with the colon character? The key is to understand when--and when not--to use it.
Debugging Break Down Complex Expressions for More Debuggable Code Combining multiple operations into a single line of code may be an effective way to play "code golf", but it's no way to develop maintainable software.
VBA The Magic Behind Microsoft Access Form Object Properties in VBA By using the Me keyword, you can leverage the automatically generated properties to retrieve and set data in VBA.
VBA The vbNullString Constant in VBA What is the vbNullString constant in VBA and how does it differ from a simple empty string ("")?
Error Handling The Form Error Event: How to Handle "Untrappable" Access Errors The Form Error event comes to the rescue for a category of errors impervious to `On Error Resume Next` and `DoCmd.SetWarnings False`.
VBA Working with Empty in VBA A deep dive into the Empty keyword in VBA: why it exists, how to check for it, when it makes sense to check for it, and--most importantly--how NOT to check for it.
VBA The Missing Keyword in VBA Wondering what the IsMissing() function is all about in VBA? We'll explore that plus all the ins and outs of the VBA keyword that isn't: Missing.
VBA Working with Null in Microsoft Access Let's explore the many ways to check for, handle, and store Null values. Spoiler alert: the best way to do it varies between VBA and SQL.
VBA Much Ado About Nothing An in-depth look at the Nothing keyword in VBA: when you need it; when you don't; and one technique to avoid it altogether.
VBA An Article About Nothing This one's for the nihilists. We explore the many ways to express the concept of nothingness in VBA.
Hidden Features 3 Situations for Using Named Arguments in VBA One of the lesser-known features of VBA is the ability to use named arguments in your calling code. Here are three situations just begging for named arguments.
VBA How to Efficiently Check for Empty Strings in VBA Yes, there is a right way and a wrong way to check for empty strings in VBA. Actually, there are *two* right ways and *two* wrong ways. Let's explore all four.
Hidden Features Quick & Dirty Block Comments in VBA Everybody knows there's no block comment character in VBA, right? Or is there...
VBA Tools > References... Safe List A list of references that may be safely included with your VBA projects without requiring any extra effort during deployment.
Code Library ptReplaceDeclaredValues(): A VBA Function to Update SQL in Pass-Through Queries Use this function to reliably replace declared values in a pass-through query.
Quick Tip Quick Tip: Code Comment Breadcrumbs This quick tip is a great way to boost the signal-to-noise ratio of your code without sacrificing valuable context from your decision-making process.
Hidden Features Understanding the Access ColumnWidth VBA Property The ColumnWidth property of an Access datasheet has some strange behavior, especially when it comes to its special values: Default Width and Size to Fit.
Defensive Programming Five Ways to Turn Runtime Errors into Compile Errors in VBA Compile errors are cheaper and easier to fix than runtime errors. Here are five ways to turn potential runtime errors into compile errors.
Basic Why You Should Always Use Option Explicit in VBA Don't let typos and logic errors ruin your VBA code. Read our latest blog post to learn about the importance of Option Explicit and how to use it.
Defensive Programming Five Ways to Turn Logic Errors into Runtime Errors in VBA Runtime errors are cheaper and easier to fix than logic errors. Here are five ways to make that happen.
Backwards Compatibility How to Use VBA to Set the ControlSource Property of an Access Image Control (and Other Deeply Hidden Object Properties) Ever wonder why you can set some values in the form/report designer Property Sheet but not in VBA? You may just need this well-hidden workaround.
Class Modules Better Global Constants in VBA with Dot-Driven Development My global constant "C" class--with PredeclaredId = True--is a great alternative to traditionally-declared global Public Const's.
VBA Five Problems Working with Global Constants in VBA Working with global constants in VBA is unnecessarily difficult, resulting in code that's harder to read and maintain than it needs to be.