Access as a Development Tool
- Why This Section is Important
- What Types of Applications Can You Develop in Access?
- Access as a Scalable Product
- What Exactly Is a Database?
- Getting to Know the Database Objects
- Object Naming Conventions
- Hardware Requirements
- How Do I Get Started Developing an Access Application?
What Every Developer Needs to Know about Tables
- Why This Section Is Important
- Building a New Table
- Selecting Appropriate Field Type for Your Data
- Working with Field Properties
- The All- Important Primary Key
- Working with Table Properties
- Using Indexes to Improve Performance
Relationships: Your Key to Data Integrity
- Why This Section is Important
- Introduction to Database Design
- Establishing Relationship in Access
- Establishing Referential Integrity
- Looking at the Benefits of Relationships
- Examining Indexes & Relationships
What Every Developer Needs to Know about Query Basics
- Why this Section is Important?
- What Is a Query & When Should You Use One?
- Everything You Need to Know about QueryBasics
- Ordering Your Query Result
- Redefining Your Query with Criteria
- Working with Dates in Criteria
- Understanding How Query Results Can Be Updated
- Building Queries Based on Multiple Tables
- Creating Calculated Fields
- Getting Help from the Expression Builder
- Summarizing Data with Totals Queries
- Excluding Fields from the Output
- Nulls & Query Results
- Redefining Your Queries with Field, Field List, & Query Properties
- Building Parameter Queries When You Don’t Know the Criteria at Design Time
- What Every Developer Needs to Know about
Form: Basics
- Why This Section is Important
- Use of Forms
- Anatomy of a Form
- Creating a New Form
- Working With the Form Design Window
- Selecting the Correct Control for the Job
- Control Morphing
- Conditional Formatting
- What Form Properties Are Available & Why Use Them?
- What Control Properties Are Available & Why Use Them?
What Every Developer Needs to Know about Forms: Beyond the Basics
- Why This Section is Important
- Bound, Unbound, & Calculated Controls
- Using Expressions to Enhance Your Forms
- The Command Button Wizards: Programming Without Typing
- Building Forms Based on More Than One Table
- Basing Forms on Queries: They Why & How
- Access Forms & the Internet
What Every Developer Need to Know about Reports
- Why This Section is Important
- Types of Reports Available
- Anatomy of a Report
- Creating a New Report
- Working with the Report Design Window
- Selecting the Correct Control for the Job
- What Report Properties Are Available & Why Use Them?
- What Control Properties Are Available & Why Use Them?
- Inserting Page Breaks
- Unbound, Bound, & Calculated Controls
- Using Expressions to Enhance Your Reports
- Building Reports Based on More Than One Table
- Working with Sorting & Grouping
- Basing Reports on Stored Queries versus Embedded SQL Statements
VBA: An Introduction
- Why This Section is Important
- VBA Explained
- What Are Access Class Modules, Standard Modules, Form Modules, & Report Modules
- Working with Variables
- Adding Comments to Your Code
- Using the Line Continuation Character
- Using the VBA Control Structures
- Passing Parameters & Returning Values
- Executing Procedures from the Module Window
- The DoCmd Object: Performing Macro Actions
- Working with Build-In Functions
- Working with Constants
- Tools for Working in the Visual Basic: Editor
- Customizing the VBE
Objects, Properties, Methods, & Events Explained
- Why This Sections is Important
- Understanding Objects, Properties, Events, & Methods
- Using the Object Browser to Learn About Access’s Objects
- Referring to Objects
- Properties & Methods Made Easy
- Declaring & Assigning Object Variables
- Understanding the Differences Between Objects & Collections
- Passing Objects to Subroutines & Functions
- Determining the Type of a Control
- Special Properties That Refer to Objects
- Understanding Access’s Object Model
- New Access 2002 Properties
Advanced Form Techniques
- Why This Section is Important
- What Are the Form Events & When Do You Use Them?
- What are the Section & Control Events & When Do You Use Them?
- Referring to Me
- What Types of Forms Can I Create & When are They Appropriate?
- Using Built-in Dialogue Boxes
- Adding Custom Menus, Toolbars, & Shortcut Menus to Your Forms
- Taking Advantage of Built-In Form- Filtering Features
- Including Objects from Other Applications: Linking Versus Embedding
- OpenArgs
- Switching a Form’s Record Source
- Power Combo Box & Listing Box Techniques
- Power Sub- form Techniques
- Synchronizing a Form with Its Underlying Recordset
- Creating Custom Properties & Methods
Advanced Report Techniques
- Why This Section is Important
- Events Available for Reports & When to Use Them
- Order of Events for Reports
- Events Available for Report Sections & When to Use Them
- Programmatically Manipulating Report Sections
- Special Report Properties
- Controlling the Printer
- Practical Examples of Report Events & Properties
Advanced Query Techniques
- Why This Section is Important
- Action Queries
- Special Query Properties
- Optimizing Queries
- Crosstab Queries
- Outer Joins
- Self Joins
- Understanding SQL
- Union Queries
- Pass- Through Queries
- The Propagation of Nulls & Query Results
- Subqueries
- Using SQL to Update Data
- Using SQL for Data Definition
- Using the Result of a Function as the Criteria for a Query
- Passing Parameter Query Values from a Form
- Jet 4.0 ANSI- 92 Extensions
Advanced VBA Techniques
- Why This Section is Important
- What Are User- Defined Types & Why Would You Use Them?
- Working with Constants
- Working with Arrays
- Advanced Function Techniques
- Working with Empty & Null
- Creating & Working with Custom Collections
- Low- level File Handling
- Understanding & Effectively Using Compilation Options
- Importing & Exporting Code Modules
- Working with Project Properties
Exploiting the Power of Class Modules
- Exploring the Benefits of Class Modules
- Object Orientation- An Introduction
- Creating & Using Class Module
- Setting Values with Property Set
- Creating Module Class Instances
- The Initialize & Terminate Events
- Working with Enumerated Types
- Building Hierarchies of Classes
- Adding a Parent Property to Classes
- The Implements Keyword
- Working with Custom collections
- Adding Your Own Events
- Practical Examples of Class Modules
What Are ActiveX Data Objects & Why Are They Important?
- Understanding ActiveX Data Objects & Data Access Objects
- Using ActiveX Data Objects Versus Data Access Objects
- Examining the ActiveX Data Object Model
- Understanding ADO Recordset Types
- Working with ADO Recordset Properties & Methods
- Modifying Table Data Using ADO Code
- Creating & Modifying Database Objects Using ADO Code
What Are The Access Objects & Why Are They Important?
- Examining the Data Access Objects Model
- Getting to Know DBEngine
- Using CurrentDB()
- Understanding DAO Recordset Types
- Selecting Among the Types of DAO Recordset Objects Available
- Working With DAO Recordset Properties & Methods
- Modifying Table Data Using DAO Code
- Creating & Modifying Database Objects Using DAO Code
- Using the DAO Containers Collection
Debugging: Your Key to Successful Development
- Why This Section is Important
- Avoiding Bugs
- Harnessing the Power of the Immediate Window
- Invoking the Debugger
- Using Breakpoints to Troubleshoot
- Sleeping Through Code
- Setting the Next Statement to Execute
- Using the Calls Window
- Working with the Locals Window
- Working with Watch Expressions
- Continuing Execution After a Runtime Error
- Looking at Gotchas with the immediate Window
- Using Assertions
- Debugging Tips
Error Handling: Preparing for the Inevitable
- Why This Section is Important
- Implementing Error Handling
- Using On Error Statements
- Using Resume Statements
- Clearing an Error
- Examining the Cascading Error Effect
- Using the Err Object
- Raising an Error
- Using the Errors Collection
- Creating a Generic Error Handler
- Preventing Your Own Error Handling from Being Invoked
- Creating a Call Stack
- Building a Custom Error Handler Class
- Working with Error Events
- Creating a List of Error Codes & Descriptions
Using ActiveX Controls
- Why This Section is Important
- Incorporating ActiveX Controls in Access 2002
- Setting Properties of an ActiveX Control at Design Time
- Coding Events of an ActiveX Control
- Using the Calendar Control
- Using the UpDown Control
- Using the StatusBar Control
- Using the Common Dialogue Control
- Using the Rich Textbox Control
- Using the TabStrip Control
- Using the ImageList Control
- Licensing & Distribution Issues
Automation: Communicating with Other Applications
- Why This Section is Important
- Defining Some Automation Terms
- Declaring an Object Variable to Reference Your Application
- Creating an Automation Object
- Manipulating an Automation Object
- Early Binding Versus Late Binding
- Controlling Excel from Access
- Closing an Excel Automation Object
- Creating a Graph from Access
- Controlling Word from Access
- Controlling PowerPoint from Access
- Automating Outlook from Access
- Controlling Access from Other Applications
Optimizing Your Applications
- Why This Section is Important
- Introducing Optimization
- Modifying Hardware & Software Configurations
- What Jet 3.5 Did to Improve Performance
- Understanding What Jet 4.0 Does for Performance
- Letting the Performance Analyzer Determine Problem Areas
- Designing Tables to Optimize Performance
- Designing Queries to Optimize Performance
- Making Coding Changes to Improve Performance
- Designing Forms & Reports to Improve Performance
Documenting Your Application
- Why This Section is Important
- Preparing Your Application to Be Self Documenting
- Using the Database Documenter
- Writing Code to Create Your Own Documentation
Maintaining Your Application
- Why This Section is Important
- Compacting Your Database
- Converting an Access Database
- Detecting Broken References