This is a very short post, but a VERY important one!
I keep seeing people posting questions in forums relating to databases not working and errors such as:



caused by not being aware of the No. 1 rule of development, especially for Access.
The Golden Rule of Microsoft Access Database Development
The Golden Rule is very simple:
A Concrete Example
Concretely, what does that mean? Well, let’s assume a scenario where a developer has users/clients who run Access 2007, 2016, 2019 & Office/Microsoft365. In such a case, all development MUST be done using Access 2007 or prior.
You must use the oldest/lowest common denominator.
This basically implies that the developer should be the last person to upgrade!!! (which seems very counter intuitive)
Why Is This Necessary?
Beyond the obvious reason: not getting the above error, the reason why this is necessary is simply explained by the fact that software, all software, is backward compatible, but not forwards compatible. What does that mean, well it means that newer version can understand older versions, but older version cannot be expected to accommodate changes, new features added after the software was released.
So let take the ‘new modern charts’ will obviously work in Access 2019/Microsoft 365, but one can’t expect Access 2007 to be able to run them as they didn’t exist in 2007! And the same is true for all sorts of other changes, some we are aware of as users/developers and many we are not that are changed at the file level.
Now, the Access Dev Team, historically, has always done a great job at ensuring backward compatibility and this is why a properly developed 2007 database, should run smoothly in any future version (2010, 2013, 2016, 2019) and this is exactly why the Golden Rule exists!
Another Alternative To The Problem
One potential solution to this is that if you are doing development on a more recent version of Microsoft Access than that of your users/clients, you could always install an equivalent version of the free runtime assuming they only need to run the database and don’t need development privileges.
What Do Professional Developers Do?
Most professional developers will actually create a Virtual Machine (VM) for each environment/version they need to support (so basically they have a ‘virtual’ computer for each version of Office and use the appropriate one depending on the user/client office version). They always do their best to match their client’s version at all times.
Thanks – just to make sure when you say “you could always install an equivalent version of the free runtime “, is that equivalent to my later version f Access or equivalent to their earlier version of Access?