Export every code objects of a MS Access database (forms, macros, modules, queries and reports) to flat files, in a batch mode
This VB script will export all code objects (forms, macros, modules, queries and reports) from a MS Access database / application (can be .accdb or .mdb) to flat files on your disk.
This way, you'll get a quick backup of your code and you'll be able to synchronize your code on a versioning platform like GitHub.
The script will start MS Access (hidden way), open the specified database, process every code object and export them, one by one, in a \src\your_database.mdb folder.
The src folder will be automatically created if needed and you'll find a sub-folder having the same name of your file (so you can have more than one exported file in the same src folder).
Just get a copy of the .vbs script, perhaps the .cmd too (for your easiness) and save them in the same folder of your database.
Just edit the .cmd file and you'll see how it works: you just need to run the .vbs with one parameter, the name of your database.
For instance, by running cscript vbs_access_export.vbs C:\Christophe\db1.mdb you'll get this:
Process database C:\Christophe\db1.mdb
Exporting sources to C:\Christophe\src\db1.mdb\
Export all forms
Export form 1/2 - frmCustomers to Forms\frmCustomers.frm
Export form 2/2 - frmInvoices to Forms\frmInvoices.frm
Export all macros
Export macro 1/15 - mcrPrint to Macros\mcrPrint.txt
[...]
Export all modules
Export module 1/2 - Helper to Modules\Helper.bas
Export module 2/2 - SQL_Server to Modules\SQL_Server.bas
Export all queries
Export query 1/23 - qryCustomers to Queries\qryCustomers.sql
Export query 2/23 - qryInvoices to Queries\qryInvoices.sql
[...]
Export all reports
Export report 1/8 - Invoice to Reports\Invoice.txt
[...]
Once finished, you'll have a sub-folder called src with one file by object so, indirectly, you've a backup of your code 👌
Christophe Avonture