Many end users try to develop entire enterprise applications by using macros. Although that is possible, it is not appropriate. Macros don't give the developer adequate control, error handling, debugging capabilities, and many other features needed for the successful development of large-scale applications. On the other hand, macros are appropriate for small single-user or departmental applications.
Reassigning keystrokes can be done only by using macros. Furthermore, using an AutoExec macro is one of two ways you can determine what happens when an application loads. If you are performing one of these tasks or are developing a small application, Access macros may be all you need. Otherwise, you should automate an application by using VBA code (which is covered in Hour 23, "VBA Introduced").