Under 100 What is a Database Index? The concept of database indexes explained in under 100 words. #Under100
Code Library Quickly List the Properties of an Object in Access Here's a quick and dirty procedure to iterate through an Access object's Properties collection.
twinBASIC Weekly Update twinBASIC Update: August 22, 2021 Highlights include a sneak-peek at the forthcoming integrated unit testing framework, App.ThreadID, App.hInstance, and MSVBVM60.dll redirections.
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.