Let's Make Access More Version-Control Friendly

Hey! Wouldn't it be great if Access was version-control friendly out of the box? If you agree, head over to the Access feedback portal and vote for my request.

Let's Make Access More Version-Control Friendly

Hello friends. I'd like your help.

I am passionate about version control and Microsoft Access.  I have developed a rather extensive script to break down an Access front-end application file into individual version-control friendly text files.  I have recommended an open-source project that lets you get started quickly with version control in Access.

But you know what I would really love?

I would love it if all the hard work I put in to creating my Access version control script was rendered meaningless because the Microsoft Access team added official support for making Access more version control friendly.

The Big Ask

If you agree with me that Access would benefit from this capability, then please head over to the Microsoft Access Feedback Portal and vote for my request.  If you disagree with me, then–um–forget what I just said about that whole Feedback Portal thing...

In case you want to read the request before you go vote for it, I'll reproduce it here:

Make Access version control-friendly

As a single binary file, front-end Microsoft Access applications are a poor fit for modern version control systems like Git.  Many developers (myself included: https://nolongerset.com/putting-it-all-together/) have created scripts that use the undocumented SaveAsText and LoadFromText methods to split the single binary front-end file into individual text files that are better suited for version control.

Please add support for two new command-line flags, /decompose and /compose.

  • msaccess.exe "C:\My\Existing\AccessApp.accdb" /decompose "C:\Path\To\Folder"
  • msaccess.exe "C:\Path\To\File\That\Does\Not\Exist.accdb" /compose "C:\Path\To\Folder"

The first command–decompose–would split the database into a series of text files for inclusion in a version control system.

The second command–compose–would reassemble the text files into a new Access file.  This would let developers clone a Git repository and recreate the original Access file on a new computer.

Supporting this feature would:

  • Encourage software development best practices
  • Make it easier for teams to develop Access applications
  • Simplify remote work scenarios for developers
  • Mitigate front-end corruption risk
  • Provide more robust backup and restore capabilities
  • Reduce change management risk
  • Make it easier to document large projects

OK, now that you've had a chance to actually read my request, please vote for it: Make Access version control-friendly.

Also, hit up the comments below to let me know how you would make Access more version-control friendly:

  • What do you agree with in my request?  
  • What do you disagree with?  
  • What's important?
  • What's not important but still nice to have?
  • What did I leave out?  
  • How would you do make Access more version-control friendly if you were Microsoft AND had no time or budget constraints?

UPDATE [2023-12-20]: Microsoft unceremoniously deleted my original feature request (which, at the time, was the top vote getter by a wide margin).  They've since recreated the feature request, apparently using the visible introductory text which was captured in my screenshot of my How to Make Feature Requests article.  Unfortunately, it's now barely in the top 10 of feature requests.

Referenced articles

Version Control - No Longer Set
Advanced techniques and unique perspectives from a guy who pushes the limits of Microsoft Access software development. Warning: may contain strong opinions.
Putting It All Together
I expanded on the original decompose.vbs script. The code below is the culmination of more than 50 individual changes and tweaks over 10+ years.
A Quick, Free Way to Try Version Control with Microsoft Access
Curious about getting started with version control in Microsoft Access, but don’t want to commit a lot of time or money? This could be just the solution for you.

Image by Dean Moriarty from Pixabay

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