Themes were originally introduced for Excel®, Word® and PowerPoint® in Office 2007 making it easy to apply a set of complimentary colors,
fonts and settings to Documents and Workbooks.
In Access 2007 there were so called Theme colors, but they were not related to Office Themes.
With the release of Office 2010 Office Themes were added to Access® databases in Accdb format with 39 variations available.
The number of Themes was reduced to 8 different values in 2013 with one addition being made in 2016.
In Access only the Colors and fonts of an Office Theme apply.
An Office Theme file is a collection of xml files and images saved in zip format in a file with a thmx extension. Access stores the current Theme in an attachment field
in the hidden table MSysResources so no theme external files are required when copying an accdb or accde to another PC.
Although it is possible to replace the attachment, in MSysResources, with a different file using VBA Access will "Correct" it when closing.
If a new Theme is created using the Access menus, the new Theme thmx file, will need to be copied with the database if there is the possibility of
users changing the selected Theme using the options on the Ribbon.
In Access 2010 and above, properties of Forms, Reports and Controls with color options have 3 additional properties that don't appear
directly in the property sheet. They are "ThemeColorIndex", "Shade" and "Tint".
If a theme color has been used then the property sheet value will show something like "Text1, Lighter 50%".
For example considering ForeColor the ForeThemeColorIndex would relate to the name "Text1" with Lighter 50% being ForeTint=50.
When Tint has a value Shade will be 100 and vice versa.
On the release of Office 2010 we studied the user interface of one of our major projects which was looking very dated so decided to apply a theme.
It was discovered that for an mdb "SaveAs Accdb" did not Theme the database neither did creating an accdb and copying objects from the original mdb.
Some VBA was written to cycle through all the forms to set the ThemeColorIndex properties.
The resultng code looked useful so was demonstrated at a meeting of the UK Access User Group.
The presentation was well received and the demo code made available for other User Group members.
It became clear that the process was too cumbersome for any but the most enthusiastic Access VBA developers
so the idea of a simple to use system was developed resulting in ThemeMyDatabase.
Copyright © 2016 ThemeMyDatabase.co.uk