The VBA Programming Environment
- When to use VBA instead of Macros
Programming in the VBA Language
- Coding in Visual Basic for Applications
- Commenting Code
- Line Continuation Character
- Using Variables and Expressions
- Naming Conventions
- Defining Variables and Assigning Values
- Automatic or Explicit Declarations
- The Variant Data Type; Other Data Types
- Branching and Looping commands
- Indenting Code; Branching
- If...Then; Select Case
- Looping; For....Next
- Do....Loop; For Each.....Next
- Using Arrays and Collections
- Typing in Code
- Optional and Named Arguments
- Passing Arrays as Arguments
- Code Compilation
- Conditional Compilation Directives
- Finding Bugs; Types of Error
- Debugging Code; Stepping Options
- Watch Points and conditional Breakpoints
- AutoData - A Debugging Feature
Error Handling in VBA
- Using VBA to Handle Errors Generally
- Trapping Errors; Writing Useful Error Handlers
- Other Error Messages; Logging Errors
Manipulating Data; Data Access Objects & SQL
- Data Access Objects; DAO Hierarchy
- Working with Objects and Collections
- Opening Databases Programmatically
- Database and Recordset Objects
- Recordset Objects; Recordset Field Objects
- Dynasets; Snapshots
- Manipulating Data with VBA Methods
- Finding Records in a Recordset
- Editing Data in a Recordset
- Transaction processing Commands
- Using Recordsets to Manipulate Imported Data
- Creating, Using and Deleting Queries from VBA
- Changing Database Definitions through VBA
- Using SQL to Manipulate Databases
- SQL Data Modification Statements
- Methods of Running SQL from VBA Code
Class Modules and Form-Event Procedures
- Creating a Class Module
- Using Class Properties and Methods
- Using Form Events; Form Events and Properties
- Code Behind Forms; Changing Form Properties
- Solutions: Soft Validation
- Creating Validation Event Procedures
- Changing the Message at Run-Time
- Moving to a Specific Form control
- Solutions: Value Derivation
- Creating New Form Instances
- Solutions: Tying Forms/Reports Together
- Using Form Class Modules