This project has moved. For the latest updates, please go here.

User's manual

Access SVN it's a tool that allow export MS Access objects definition, like tables, forms or reports to plain text files. Then, you can do source control versioning on that files. And, soon in next versions, Access SVN will be capable of import back the flat files to a MS Access database.

Access SVN can read mdb and adp file formats. Also reads database properties, table relations and references to other libraries.

  • Adp files have the data stored in SQL Server. SQL server has capabilities for generate scripts for tables, views and stored procedures. So, Access SVN do not export this objects to plain files.
  • Mdb files are DAO dependent files. Accessing to TableDef properties is slow, but is the only way to get MS Access specific properties like validation rule, validation text or field description.

Save to files

Select an Access file. It would be a mdb or an adp file. Selecting the file, you will get a list of the different objects that you can save. Depending on macro security level, you will be warned about a security risk. Click Open button to continue.

image

Select a folder where the working copy is.

Check the object/s that you want to save. Checking/unchecking a parent object, checks/unchecks its children.

Files are saved under that folder following the folders structure (showed in the below image). Deleted database objects (tables, forms,...) should be deleted manually from file system.

image

Some kind of objects saves itself quickly (forms, reports, queries, modules and macros) and other slower. This is because the first group is supported directly by the SaveToText function. For the second group is necessary to analize its structure. This process is very slow because its based on iterate on the properties collection of each object: It's the slower aproximation, but the unique that allow to access to custom properties and treat all objects in simmilar way. DataAccessPages could be the slowest (very, very slow) if the assoctiated html file is unavailable.

Load to Access

Files are read following a specific folder structure. Folder names must match with specific names generated during save process. Files extension are .txt  for ease edit/view with text editors. But also have a "sub-extension" that denotes the object type.

image

Right clic on an object to get contextual options. Each object have differents options:

  • Show file: Available for all types of object. Open the selected file in the default text editor.
  • Allow data lost: Available for tables. If isn't checked and table has data, an error occurs and table schema is not modified. In other case, table schema is recreated from the specification in the file and data is lost.
  • Create empty database: Available for database object. If checked, if target database existes, first is deleted and created from scrach. If isn't checked, objects are loaded into the existing database.

Loading to a signed VBA project will cause a dialog box warning that the sign will be invalid. You must have this present if you want to automatize loading proccess (In the next version)

 

NOTE

If your Access program has a startup form or Autoexec macro, this form or macro will prevent AccessSVN hidding the Access application. You can control if your code is executed normally or by using automation with the following code in the startup form:

Private Sub Form_Open (Cancel As Integer)
   ' If database is opened from Automation, 
   ' cancel the Open event of the form.
   If Application.UserControl = False Then
      Cancel = True
   Else
   ' Any startup code that needs to run when the
   ' database is opened by a user goes here.
   End If
End Sub

Another way is keep pressing Shift key while clic on Open button

Last edited Mar 28, 2012 at 9:34 PM by mnieto, version 9

Comments

TomasH Aug 17, 2011 at 12:40 PM 
Are there any news about loading back to Access feature? This can help a lot!