MUST+Web, a complete translation end-end of Access to SQL Server and for Visual Studio. Click to see demonstration web site
MUST Logo

Documenting Access Databases

Why Document Your Database

The idea behind documentation is that it serves a purpose, and does not simply produce a wad of paper that nobody will ever look through. So documentation should be purposeful. Some points to consider as benefits in producing documentation are:-

  • If a developer moves on then others can maintain the code.
  • It helps you focus on your design and improve the quality of your work.
  • It acts as a road map to assist you when you later return to enhance the application.
  • It demonstrates a structured approach to constructing a system.

Access being a tool which can rapidly produce forms, queries, tables and reports, has a particular nasty habit of allowing the rapid accumulation of an uncontrolled mess. How often have you seem design objects called "Report For John" or "Report For Peter - can Be Deleted" or "zzzMyReport" sprinkled in a database.


Top of Page
Naming Your Design Objects

Your first defence against anarchy is to name things in a meaningful, if abbreviated form. Traditionally many developers have followed the conventions of Leszynski-ReddickNamingConvention , Which is a good starting point. But as applications can often have 80 or 90 queries in them, the convention does not address the real challenge of managing your forms and tables etc.. You can consider some of the following strategies:-

  • Naming objects by association, tblCustomer, frmCustomer, frmCustomerSubformDetails, qryCustomer.
  • Naming objects by similarity in function, qryImportCustomers, qryImportCountries.

The essential point here is to have at least some "method in you madness". More recent improvements in Access have focused on short-cut grouping of design objects to improve application management.


Top of Page
Buying A Documentation Tool

If you can, then purchasing a documentation tool is a sound investment, probably the most popular tool is the FMS TotalAccessAnalyzer. You could also use the built in documentation feature in access (Tools-Analyze-Documenter), although this is rather limited.


Top of Page
Writing A Documentation Tool

This is not as difficult a proposition as it sounds, all you really need are a couple of tables into which you will update the contents of the database against which you will make annotations. Then add a few reports and you will be well on your way to having a basic documentation tool.


Top of Page
Choosing Between DAO and ADOX or System Tables

Access gives you three alternative mechanism for establishing documentation. I would suggest that examining system tables such as MSysObjects is fairly limited and certainly cryptic to understand.

Selecting DAO (Data Access Objects) has the advantage that it is laid out in a form that fits the Access JET architecture, whilst selecting to use ADOX (Active Data Objects Extension) means that you could also use the tool against SQL Server or SQL Express.


Top of Page
Example Of DAO Documentation Code

If you are keen on writing your own documentation tool then you can download the following sample to help you get started :- DAO Documentation Code.


Top of Page

by Andrew Couch Office Access MVP, Director ASC Associates andy@ascassociates.biz