Code Library VBA IsBusinessDay() Function A simple function that returns True except for weekends and US federal holidays.
Code Library Federal Holidays in VBA How do you calculate US federal holiday observances in VBA? One option is to use brute force and skip the calculation altogether.
Tools Bad Words in Access Note, Caption, Format, Pages, Sequence. All reasonable-sounding field names, but all should be avoided.
SQL Server Role-based SQL Server Security There are many reasons to implement SQL Server roles even if you use Windows Authentication with Active Directory security groups.
Version Control Tracking Schema Changes If it can cause a bug in your software, you should be tracking it in version control. Database schema changes absolutely fall into that category.
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.
SQL Server ODBC Driver 17 Prevents SSMS Install 3 steps to fix SSMS installation error 0x80070643: (1) Uninstall ODBC Driver 17; (2) Restart the machine; (3) Rerun the installer
Basic The Global Form Storing global variables on a hidden form has some distinct advantages over storing them in VBA.
Basic Proper Use of Global State With great power comes great responsibility. Use global variables wisely.
Basic Pseudocode Programming Practice Is it bad practice to write comments first and then code? Not at all. In fact, it's one of the most powerful techniques in building good code.
Technical Debt Overuse of Global State You wouldn't control the water temperature in your entire house from a single location. Why would you write your code that way?
Technical Debt Old Fields Left in Place Leaving old fields in place is even worse than leaving old code. Instead of runtime errors, you'll end up with harder-to-detect data errors.
Technical Debt Old Code Left in Place What's the harm in leaving old code in place? It's not like it costs us anything. ... Or does it?
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.
Commentary Declaration of Database Design Altering the schema of a production database is not a step to be taken lightly. But when requirements dictate, it must be done.
Code Library Setting MultiSelect At Runtime You can't actually set a list box's MultiSelect property at runtime. But there are a few ways to work around the limitation. Let's explore them.
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.
Business Google Analytics Alternatives Avoid GDPR cookie-consent forms and respect your website users' privacy with one of these privacy-friendly Google Analytics alternatives.
Fluent API Fluent Interfaces It's probably irresponsible of me to share the following technique with you because you'll be so tempted to abuse it. But let's do it anyway.