VBA versus Macros in Access

Now that you've seen a little about how VBA works within Access you might be chomping at the bit to get started. However, there's one other item you should consider before jumping into Access programming without looking back: a macro. A macro is simply a saved series of commands. Unlike in Word and Excel, where you can record your own macros, in Access you create the macro yourself, step by step. A macro enables you to perform a variety of operations in Access in response to the click of a command button or any other programmable event on a form or report.

Macros in Word or Excel refer to a piece of VBA code that you would write in a module in Access. In Access, a macro is a separate type of object, one that's made up of a list of actions. Note that Word and Excel also enable you to create your own modules.

If you've programmed in Word or Excel, you know that you can create a macro by starting the macro recorder and performing the desired steps. When you stop the macro recorder, all of the operations you've performed—from mouse clicks to keyboard strokes to menu selections—are recorded and saved in VBA code. You can then run the macro at a later time by selecting it from the Macros dialog box or in response to a keyboard or Ribbon command. After you've recorded your macro, you can examine the VBA code behind the macro by simply choosing Edit from the Macros dialog box. This is one of the easiest ways to learn some VBA code within Word or Excel. For example, if you want to know the VBA code to insert three lines of text at the end of your Word document, just create a Word document, start recording a macro, and type your three lines of text. You'll end up with code that looks similar to the following:

Sub InsertNames()

' InsertNames Macro

Selection.TypeText Text:

="Rob Cooper"

Selection.TypeParagraph

Selection.TypeText Text:

="Software Design Engineer in Test"

Selection.TypeParagraph

Selection.TypeText Text:

="Microsoft Corporation"

End Sub

As you can see, you need to know some keywords before you can program Word to do what you want in VBA. Recording a macro in Word first, then perusing the commands, can help you to figure out how to write more sophisticated code directly in the VBA Editor. TypeText, for example, is the method of the Selection object that allows you to enter your own text in the document. TypeParagraph inserts a carriage return in the document. These are just two of the many methods you can use with the Selection object. While few programmers ever need to use every method of an object, you can write better VBA code by familiarizing yourself with some of the most frequently used methods of the objects you'll deal with.

While Word and Excel have the capability to record macros, Access does not. To write VBA code in Access, you just jump right in and code. However, if you aren't quite ready for VBA code, you can still create detailed macros using the Macro Editor in Access. The only limitation is that you can't record a macro; you must create it yourself step-by-step. This book is the Access 2007 VBA Programmer's Reference so it doesn't cover a lot about macros, but this chapter provides a brief tutorial on creating and using macros in Access. Then you'll explore the new features mentioned earlier.

Was this article helpful?

0 0

Post a comment