A Quick, Free Way to Try Version Control with Microsoft Access

My preferred approach to version control with Microsoft Access is to use the undocumented SaveAsText and LoadFromText methods.  I wrote a series of articles describing this approach.

I love the workflow I built for myself and my team.  In its current form, though, it is a one-size-fits-one solution.  I still have not written a full implementation guide for how someone would integrate my solution into their own workflow.  Suffice it to say that such a guide would involve many steps.

A quicker way to get started

The fastest way to get started with version control in Microsoft Access is using Adam Waller's msaccess-vcs-addin project on GitHub.  

The project README has a great getting started gif:

Exporting to source with Adam Waller's fork of the msaccess-vcs-integration project.

Focus of this fork

UPDATE [2023-05-09]: What started out as a fork of the msaccess-vcs-integration project eventually became a nearly complete rewrite, leading Adam to detach from the original upstream fork and create a standalone project on May 9, 2023.  See here for details.

There are several forks of Brendan Kidwell's original msaccess-vcs-integration project.  I'll let Adam Waller's README explain what sets his fork apart from the others:

Development Roadmap


Since there are several forks of this project on GitHub, I thought it might be helpful to give some insight into the long-term direction I am taking with this fork. Below are some of the changes I am looking to implement in the future:

  • Finish an automated testing process where a complex sample database can be exported, reconstructed, exported again, and compared with the original export to ensure that the build process is fully constructing the database from the exported source files.
  • Build out an automated deployment workflow using a GitLab runner that is triggered on a commit to automatically build, test, and deploy a database project. Discussion on this idea can be found here.

Next steps

The Access add-in itself is not a version control application.  It "merely" exports the Access objects into a series of plain text files.  To finish the process, you will also need a standalone version control system, like Git or Mercurial.

Other options

The two most popular commercial options are probably Oasis SVN and Ivercy.  

What do you use?

Do you use version control with Microsoft Access?  If so, what solution are you using?  Let me know in the comments below.


Referenced articles

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.
An Homage to Mercurial
I believe without a doubt--even knowing what I know now--that I made the right decision at the time. If I could go back to 2009 and do it over again, I would still go with Mercurial. If I were starting from scratch in 2020...that’s a different story.
GitHub - joyfullservice/msaccess-vcs-addin: Synchronize your Access Forms, Macros, Modules, Queries, Reports, and more with a version control system.
Synchronize your Access Forms, Macros, Modules, Queries, Reports, and more with a version control system. - GitHub - joyfullservice/msaccess-vcs-addin: Synchronize your Access Forms, Macros, Module...
DEV2DEV
OASIS-SVN, Versionsverwaltung für Microsoft Access.Version control with Microsoft Access.
Ivercy - Seamless source code control integration for Microsoft Access
Ivercy - Source code control integration Add-In for Microsoft Access 2007 - 2019

Image by Alexandra_Koch from Pixabay

UPDATE [2023-05-09]: The repository has been migrated from https://github.com/joyfullservice/msaccess-vcs-integration to https://github.com/joyfullservice/msaccess-vcs-addin.  See here for details.