Bug Types Misunderstood Requirements (After You've Written the Code) As you install the final piece of crown molding in the dog's second bedroom, you can't help but smile at the absurdity of it all.
Bug Types Runtime Errors It's impossible to predict every possible scenario that could befall our applications in the wild. But we need to at least try.
Basic What the Vancouver Stock Exchange Can Teach Us About Rounding Numbers in VBA So you think you know how to round decimals. Do you, though? There may be more to it than you think.
Professional Development The Gambler The most consequential piece of business advice I ever received came from the fictional owner of Pritchett's Closets & Blinds.
Intermediate How to Construct a Bit Mask in VBA What's the safest way to construct a bit mask in VBA? Your preferred approach may be more dangerous than you realize.
twinBASIC Weekly Update twinBASIC Update: August 15, 2021 Highlights include IntelliSense improvements, a 12-month twinBASIC roadmap, and a pure Win32 API GUI application written in twinBASIC.
Commentary Access vs. Enterprise Software: A False Choice Beware of strawman arguments against Microsoft Access.
Commentary Evolution of a Business Application Before you commission that custom web application project, it pays to validate that the business process even warrants such a significant investment.
Intermediate Runtime Mode in Microsoft Access There are two ways to force a full version of Access to run a front-end file in runtime mode: the /runtime switch and changing the extension to .accdr.
Combo Boxes ComboBox .Undropdown Method Combo boxes have a .Dropdown method. But what if you want the opposite: a .CloseDropdown method? This tip from Adam Waller has the answer.
Bug Types Automated Test Errors (aka, Failing Tests) You can have a bug in your code and/or in your test. You're unlikely to have the *same* bug in your code and your test.
Basic How to Pause Your VBA Code For a Set Amount of Time There is no built-in function to pause code in VBA. The easiest and safest way to do it is to use the Sleep API function. Here's a quick how-to.
twinBASIC Weekly Update twinBASIC Update: August 8, 2021 Highlights include a revamped references list UX, a 100%-twinBASIC-compatible Printers object replacement, and news on unit testing and documentation.
Bug Types Misunderstood Requirements in the Project Design Phase Your client knows what's wrong. They *think* they know how to fix it. But treating symptoms is never as effective as treating the disease.
Bug Types Compile Errors Compile errors are easy to keep out of deployed code (just remember to Debug > Compile). Which is good because they hard crash Access in Runtime mode.
Bug Types Syntax Errors Every programming language has its own syntactical quirks. The C family loves braces. Python loves indentation. BASIC loves words. And Perl loves #%@!{}]&.
Defensive Programming The RecordsAffected Property is a Powerful Tool for Defensive Programming As developers, we need to constantly be thinking about how to handle unknown unknowns. The RecordsAffected property helps us do that.
Basic Avoid DoCmd.RunSQL in Microsoft Access If you are just starting out writing VBA in Microsoft Access, you may be tempted to use DoCmd.RunSQL. Don't. There is a better way.
Tools RegEx101.com Writing and reading regular expressions is like speaking a foreign language. Think of regex101.com like Google Translate for regexes.
twinBASIC Weekly Update twinBASIC Update: August 1, 2021 Highlights include VSCode CodeLens support, compiler warnings, VB_GlobalNameSpace support, and twinBASIC's debut on stackoverflow.
Combo Boxes A Lazy-Loading Combo Box In Only 3 Lines of Code Combo boxes that pull down too many records can slow down your Access forms. Boost performance with my class module and 3 lines of code.
Combo Boxes A Wonderful, Magical Class Module Imagine a single class module you can use for progressive combo box filtering, lazy loading combo boxes, AND multi-column filtering!
Version Control Learn to Love Text-Based Version Control with "Highlights for Children" Why use text-based version control for visual objects like forms and reports? I'll tell you why, but first, find all the differences between these two pictures...
Intermediate Enforcing a Single-Row Table in MS Access and SQL Server There are many uses for a table with one--and only one--row in it. Using such a table is simpler if you can rely on the sanctity of its one-row-ness.