Reputation: 59
We have a version control system for VBA/Access that is fine for development, updates modules/scripts/forms, etc. just fine.
However, we distribute to our user base as accde.
Because of the physical size of the distribution, we'd like to have a means of updating forms, or whatever on the fly, but to do so, we need programmatic access to the forms & compiled VBA etc., within the accde context.
I can't find any containers that hold the compiled content, i.e. Application.SaveAsText acForm, doc.Name, doesn't work in the accde environment.
Does anyone know how to access the compiled containers or their equivalent and what the equivalent saveas or loadfrom might be for an accde?
Upvotes: 1
Views: 3080
Reputation: 12748
The short answer is, you don't. The code modules themselves get stripped away when you compile the database into an *.accde file and you can't make many modifications to an *.accde file by design. If you need to make changes to the database program, you'll need to make the changes to the *.accdb file and re-distribute the front end to your users.
Personally, I started with the Front End Auto-Updating Tool from BTAB Development and made some improvements. It works by checking a version number in a local table in the front end against the same table in a remote "master" copy of the *.accde file. If the local version is out of date, a new copy gets downloaded and installed.
You seem to be concerned about the size of the download, which means you have probably not properly split your database into a front and back end. Doing this will drastically reduce the size of the *.accde file that you need to distribute.
Upvotes: 1