Bug Alert: Cannot Open Any More Tables/Databases

Check out the latest bug release from Microsoft: "Cannot open any more tables/databases.", .laccdb file remains, msaccess.exe hangs, and more...

Bug Alert: Cannot Open Any More Tables/Databases

UPDATE [2022-02-09]: Microsoft has released an official fix for this bug.


These days, Microsoft Access releases a new feature about once a year.  

This glacially slow feature release cycle is a source of endless frustration for professional Access developers.  As the cacophony of complaints crescendoed, Redmond devised an ingenius plan to occupy Access developers in between feature releases: Monthly BUG Releases!

First, there was the 2021 Holiday Bug, then my UNC Alias trick stopped working, and, just for good measure, they temporarily broke the Access Runtime download links.

Now, it seems that the official fix for the Holiday Bug has brought problems of its own.  Surprise, surpise.

As of yesterday, February 4, 2022, Microsoft has officially acknowledged that there is a bug in the January 2022 Office update (Version 2201 (Build 14827.20158)) that shows up with a variety of symptoms, including:

  • Access Error 3014: Cannot open any more tables.
  • Access Error 3048: Cannot open any more databases.
  • The msaccess.exe process remains running in Task Manager after closing the main Access window.
  • Compact & Repair fails with the message "database already in use"
  • Error at startup: "Already in use by Admin"

Workarounds

There are a few reported workarounds:

Place Access File(s) in a Trusted Folder

As of writing, the official workaround from Microsoft is:

To work around this issue, put your database in a trusted location.

Whether this requires putting your front-end database, your back-end database(s), or both in a trusted location is not clear.  Some commenters have stated that this workaround requires putting both the front-end file and back-end file(s) into trusted locations.

Of course, the Trusted Locations are saved in the registry's current user hive (HKCU), which means this fix would need to be applied while end users are logged in to their computers.  This may be something you could automate with Group Policy if you have Active Directory.  You could also do this with a .reg file, Powershell, or a VBScript.

Depending on the environment where your application is deployed, this could be an impractically time-consuming workaround.

Explicitly Close and Release All .OpenRecordsets

There is some anecdotal evidence that this problem is more common among Access applications that have many .OpenRecordset calls without corresponding .Close calls.  

Chances are, though, if you've got a large enough codebase for this to be causing the problem for you, it also means that it would be impractical to go through that codebase adding in .Close methods everywhere just in case it might fix the problem for you.

This, too, would likely take a lot of your time.  Plus, there's a better-than-even chance that it wouldn't work anyway.

Back Out the Update

Which brings us to Old Faithful: just uninstall it.

Unfortunately, rolling back Office updates is not exactly the click of a button.  Here are the instructions from Microsoft:

Further Reading

The best source for unofficial updates to this bug comes from Access MVP Daniel Pineault's website, DevHut: Another Access Bug: Cannot Open Any More Databases.


External references

Access is unable to close and leaves lockfile active
Another Access Bug – Cannot open any more databases
Here’s what we know about the latest bug related to symptoms like “Cannot open any more databases”, “already in use by Admin”, lock file remaining.

All original code samples by Mike Wolfe are licensed under CC BY 4.0