Office
 

Microsoft Access 2010 : Learning the Basics of Creating and Running a Macro (part 2) - Submacros, Program Flow

10/10/2011 9:22:26 AM

Submacros

Submacros are like subroutines in a programming module; they allow you to place more than one routine in a macro. This means you can create many macro routines without having to create several separate macros. You should include submacros that perform related functions within one particular macro. For example, you might build a macro that contains all the routines required for form handling and another that has all the routines needed for report handling.

Only two steps are needed to add submacros to a macro:

1.
Click and drag a submacro from the Action Catalog onto the macro. A submacro appears as in Figure 7.

Figure 7. The submacro allows you to create subroutines within a macro.

2.
Add macro actions to each submacro. Figure 8 shows a macro with three submacros: OpenCustomers, OpenOrders, and CloseForm. The OpenCustomers submacro opens the Customer List form, showing all customers. The OpenOrders submacro opens the OrderList form displaying only orders placed in March and April of 2006, and the CloseForm submacro displays a message to the user and then closes the active window.
Figure 8. A macro with three submacros.

Program Flow

At times, you want a macro action to execute only when a certain condition is true. Fortunately, Access allows you to specify the conditions under which a macro action executes:

1.
Make sure that the Action Catalog is visible. (If it isn’t, click the Action Catalog tool in the Show/Hide group of the Macro Tools Design tab of the Ribbon.)

2.
Click and drag the If statement to the macro. It will appear as in Figure 9.

Figure 9. You can designate the condition under which a macro action executes by selecting If from the Program Flow node of the Action Catalog.

The macro pictured in Figure 10 evaluates information entered on a form. The macro evaluates the date entered in the txtBirthDate text box on the frmPersonalInfo form. Here’s the expression entered in the first condition:

DateDiff("yyyy",[Forms]![frmPersonalInfo]![txtBirthDate],Date()) Between 25 And 49


Figure 10. An example of a macro containing conditions.

This expression uses the DateDiff function to determine the difference between the date entered in the txtBirthDate text box and the current date. If the difference between the two dates is between 25 and 49 years, a message box is displayed indicating that the person is over a quarter century old.

If the first condition isn’t satisfied, the macro continues evaluating each condition. The CheckBirthDate subroutine displays an age-specific message for each person 25 years of age and older. If the person is younger than 25, none of the conditions are met, and no message is displayed.

The CheckGender macro works a little bit differently (see Figure 11). It evaluates the value of the fraGender option group. One of the first two lines of the subroutine execute, depending on whether the first or second option button is selected. The third line of the subroutine executes regardless of the Option Group value because it is after the End If.

Figure 11. An example of a macro containing conditions.
 
Others
 
- Microsoft Access 2010 : Learning the Basics of Creating and Running a Macro (part 1) - Working with Macro Actions & Working with Action Arguments
- Microsoft Access 2010 : Deleting Records
- Microsoft Visio 2010 : Sharing Diagrams by Using the Visio Viewer
- Microsoft Visio 2010 : Creating Visio Templates
- Microsoft Word 2010 : Creating an XML Document
- Microsoft Word 2010 : Customizing Word - Linking and Embedding Files
- Microsoft PowerPoint 2010 : Saving a Presentation as a Slide Show & Saving a Presentation as a Video
- Microsoft PowerPoint 2010 : Delivering a Show on Multiple Monitors
- Getting Started with Microsoft Excel 2010 : Arranging Windows
- Getting Started with Microsoft Excel 2010 : Moving Around the Workbook
- Microsoft Outlook 2010 : Working with the Ribbon and the Backstage View
- Microsoft Outlook 2010 : Working in the Outlook Program Window
- Microsoft OneOnte 2010 : Creating Pages - Choose the Default Page Template for Section Pages
- Microsoft OneOnte 2010 : Creating Sections & Creating Section Groups
- Facilitating Your Plan with Microsoft Project 2010
- Microsoft Project 2010 : Understanding Project Management Basics
- Microsoft Access 2010 : Working with Table Data
- Microsoft Access 2010 : Working with an Existing Database
- Microsoft Visio 2010 : Sharing and Publishing Diagrams - Saving in Other File Formats
- Microsoft Visio 2010 : Sharing and Publishing Diagrams - Creating Graphics
 
 
Most View
 
- Windows 8 : Using the Control Panel Items (part 5) - Color Management, Credential Manager
- Windows Server 2008 : Group Policy Command-Line Tools - Viewing Group Policy Settings with gpresult
- SQL Server 2012 : Backing Up the Database (part 2) - Backing Up the Database with Code,Verifying the Backup with Code
- Microsoft Exchange Server 2013 : Designing a Successful Exchange Storage Solution (part 3) - Selecting the Right Storage Hardware, Storage Validation Using Jetstress
- Windows 7 : Working with Files - View Your Files
- Windows Phone 8 : Working with People - The Me Tile (part 3) - Uploading a Photo
- SQL Server 2012 : Delivering Manageability and Performance (part 1) - POLICY-BASED MANAGEMENT - Enterprise Policy Evaluation
- Microsoft Visio 2010 : Aligning and Arranging Shapes (part 7) - Controlling Front-to-Back Positioning
- Microsoft Excel 2010 : Working with Graphics - Inserting a Diagram,Inserting an Object
- Microsoft Onenote 2010 : Using Tables to Organize Information (part 3) - Resizing a Table Column,Selecting an Entire Table
 
 
Top 10
 
- Microsoft OneNote 2010 : Searching Notes (part 4) - Troubleshooting Problems with Search
- Microsoft OneNote 2010 : Searching Notes (part 3) - Searching for Text with the Search Results Task Pane
- Microsoft OneNote 2010 : Searching Notes (part 2) - Searching for Text on the Current Page, Searching for Text with Instant Search
- Microsoft OneNote 2010 : Searching Notes (part 1) - Turning Audio Search On or Off, Turning Text Recognition in Pictures On or Off
- Microsoft OneNote 2010 : Prioritizing and Categorizing Notes with Tags (part 2) - Search for Tagged Notes, Removing a Tag from a Note
- Microsoft OneNote 2010 : Prioritizing and Categorizing Notes with Tags (part 1) - Applying a Tag to a Note
- Microsoft OneNote 2010 : Organizing the Pages and Sections in a Notebook (part 2) - Moving or Copying a Notebook Section, Merging One Notebook Section into Another
- Microsoft OneNote 2010 : Organizing the Pages and Sections in a Notebook (part 1) - Displaying the Hierarchy of a Notebook on the Navigation Bar
- Microsoft OneNote 2010 : Navigating Notebook Content with Links (part 2) - Notebooks list or click the Open Notebook button. Creating Wiki-Style Links to Other Locations in Your Notebook
- Microsoft OneNote 2010 : Navigating Notebook Content with Links (part 1) - Creating a Link to a Specific Notes Page, Creating a Link to a Specific Notebook Section