Advanced Deceptively Complex Booleans Why is VBA such an optimistic language? Because there's only one way to say "No," but 65,535 ways to say "Yes."
Code Library Get a Handle on Window State Using the IsZoomed and IsIconic API calls to return the window state (minimized, maximized, or restored) of a form, report, or Access itself.
Tools 21st Century Visual Basic Microsoft stopped supporting VB6 in 2008. Here are some modern options for migrating those old apps or developing new ones in 2020 and beyond.
Risk Management Proving the Concept with Access Committing to a major custom software development project is fraught with risk. Reduce that risk by prototyping in Access first.
Holiday Merry Christmas "...the shepherds said to one another, 'Let’s go to Bethlehem and see this thing that has happened, which the Lord has told us about.'"
Basic Unicode-Friendly MsgBox There's a great big world outside of the ANSI bubble. Make every MsgBox in your program Unicode-safe in no time at all with this drop-in replacement.
Code Library Unicode-Safe Filtered Filename Lookups Need a Unicode-safe way to retrieve a list of filenames from a folder? And its subfolders? And filtered by filename? It's all here!
Intermediate Short-Circuiting VBA? Beware of clever workarounds for missing language features. Sometimes the simple approach is best.
Code Library Clearing a List Box in Access Sometimes you need to wipe the slate clean and start fresh. Here's a simple function to do just that for an Access list box.
Risk Management MS Access Risk Management Applying US Army risk management techniques to assess Microsoft Access application risk.
Advanced Checklist: The Best Access Applications Good. Better. BEST. Is your Access application as good as it can be?
Intermediate Checklist: Better Access Applications Good. BETTER. Best. Is your Access application good enough to sell?
Basic Checklist: Is Your Access App GOOD? GOOD. Better. Best. Does your Access application clear the lowest bar for quality?
Risk Management Good. Better. Best. Take the test to see where your (or someone else's) Access application stands.
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!
Advanced "Complex" DTOs in VBA Can you use the OpenArgs parameter to pass multiple values to forms and reports with compile-time checking? You can if you use DTOs.
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.
Code Library Writing Code with Code in VBA Can you write code with code in VBA? Yes. Should you write code wit--OH, BE QUIET YOU!!! Where's your sense of adventure? ;-)
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.
Advanced VBA Dictionaries: AKA, Hash Tables This is not an article about Amsterdam flea markets. Hash tables are the data structures upon which Dictionaries are built.
Advanced VBA Collections: AKA, Linked Lists Everything I still remember about the Data Structures course I took 20 years ago as it applies to Collections in VBA.
Basic VBA and Unicode VBA and Unicode go together like Bailey's and Lime. But pretending the problem doesn't exist won't make it go away. Even for us Americans.