Provided by Allen Browne. Created: November 2003. Updated: April 2010.
Access provides a way to set up a form and a report, and nominate them as the template for new forms and reports:
That's useful, as it lets you create forms and reports quickly to your own style.
However, these forms/reports do not inherit all properties and code. You will get a better result if you copy and paste your template form or report in the database window (Access 1 - 2003) or Nav Pane (Access 2007 and later.) The form created this way inherits all properties and event procedures.
It will take you 30-45 minutes to set up these default documents. They will save 5-15 minutes on every form or report you create.
Create a new form, in design view. If you normally provide navigation or filtering options in the Form Header section, display it:
Drag these sections to the appropriate height.
In addition to your visual preferences, consider setting properties such as these:
Allow Design Changes Design View Only Disallow runtime changes. (Access 2003 and earlier.) Allow PivotTable View No Disallowing these views prevents tinkerers from trying them from the toolbar or View menu. Allow PivotChart View No Width 6" Adjust for the minimum screen resolution you anticipate.
Now comes the important part: set the default properties for each type of control.
Select the Textbox icon in the Toolbox (Access 1 - 2003) or on the Controls group of the Design ribbon (Access 2007 and later.) The title of the Properties box reads, "Default Text Box". Set the properties that new text boxes should inherit, such as:
Special Effect Flat Whatever your style is. Font Name MS Sans Serif Choose a font that will definitely be on your user's system. Allow AutoCorrect No Generally you want this on for memo fields only.
Repeat the process for the default Combo Box as well. Be sure to turn Auto Correct off - it is completely inappropriate for Access to correct items you are selecting from a list. Set properties such as Font Name for the default Label, Command Button, and other controls.
Add any event procedures you usually want, such as:
Save the form. A name that sorts first makes it easy to copy and paste the form to create others.
Copy and paste the form created above. This form will be the one you copy and paste to create continuous forms.
You have already done most of the work, but the additional properties for a continuous form might include:
Create other "template forms" as you have need.
The default report is designed in exactly the same way as the forms above. Create a blank report, and set its properties and the default properties for each control in the Toolbox.
Suggestions:
The last suggestion avoids displaying "#Error" when the report has no data. Copy the function below, and paste into a general module. Using the generic function means you automatically get this protection with each report, yet it remains lightweight (no module) which helps minimize the possibility of corruption. The code is:
Public Function NoData(rpt As Report) 'Purpose: Called by report's NoData event. 'Usage: =NoData([Report]) Dim strCaption As String 'Caption of report. strCaption = rpt.Caption If strCaption = vbNullString Then strCaption = rpt.Name End If DoCmd.CancelEvent MsgBox "There are no records to include in report """ & _ strCaption & """.", vbInformation, "No Data..." End Function
In Access 2007 and later, you can also create a default database, with the properties, objects, and configuration you want whenever you create a new (blank) database.
Now any new database you create will have these objects included, properties set, and references selected.
You can create default databases for both the new file format (accdb) and the old format (mdb) by creating both a blank.accdb and a blank.mdb in the Access templates folder.
You will quickly discover these default forms, reports, and databases not only save time, but help provide a consistency in style and functionality throughout your application.
Home | Index of tips | Top |