Effective databases can be created using Microsoft Access. However, if more complex databases are required you must write code using a programming environment called Microsoft Visual Basic for Applications (VBA). By using VBA code, it is possible to overcome the limitations of using macros. A typical Access VBA course for Windows will begin with an introduction to programming in Microsoft Access. It will then move on to cover the use of procedures, functions, objects and expressions, how to work with recordsets and how to control program execution.

Learning the principles of error handling is another particularly important goal for students of Access VBA. A major difference between an amateur and a professionally developed Microsoft Access application is its' ability to deal with problems. Access implements VBA error handling at procedure level. By adding VBA error handling code to your MS Access applications, it is possible to prevent crashes and error messages.

In simple terms, when programmers write code they should be able to anticipate as many problems as possible and attempt to deal with these problems early on. This means coding for error conditions that may arise when your database is running.

There are three main types of problems:
Syntax or user data entry errors arise from the inclusion of mistyped words or incorrect expressions in your code.
Run-time errors are problems faced by users when interacting with your database because the programming environment cannot correctly execute a program statement.
Logic errors are undeclared errors that prevent your code from compiling. These tend to be vague and difficult to fix.

Debugging is another important skill for a developer, especially as code gets more complex. MS Access has been designed to include powerful debugging tools which do not work on built-in macros. To debug code you need to run your code line by line to see what is happening. The next step is to construct a subroutine which calls the function. You need to set a breakpoint inside the function which is a selected line of code that, once reached, will cause your program to become suspended. Then you can use the VBA debugging environment to view the status of your program, step through each successive line of code, continue or halt execution of the code. Other debugging tools include the immediate window and the watch window.

By attending an Access VBA course, it is possible for you to master these and other concepts and ultimately, help you to build more complex databases.