Table of Contents
(NOTE: Each chapter concludes with a Summary.)
A Letter from the Author.
I. THE ROOT OF POWER PROGRAMMING.
1. Macros Are for Weenies; Code
Is Cool!
Understanding Where Macros End and Code Begins.
Looking at Macro-to-Code Changes. Converting Existing Macros to VBA Code.
2. Coding in Access 2002 with VBA.
Getting Started with Programming. Getting
Started with VBA. Programming with Objects. Using Properties and Methods.
Using Collections. Customizing a Form. Coding Class Modules.
3. Making Access Project and Data Technologies Choices.
Using Microsoft Database Versus Access Database
Project. Using DAO Versus ADO Versus XML.
4. Working with Access Collections and Objects.
Creating Custom Collections. Comparing Custom
Collections to Arrays. Accessing the Access Object Model. Programming Multiple
Copies of the Same Form.
5. Introducing ActiveX Data Objects.
Looking at ADO's Object Models. Referencing
the Type Libraries. Opening a Connection to a Database. Creating a Recordset.
Working with Queries. Working with Tables.
6. Using XML with Access 2002.
Getting to Know XML. Working with XML with
the Access User Interface. Coding with XML and VBA in Access 2002. Taking
Advantage of the Other Office Applications' _XML Support.
7. Handling Your Errors in Access with VBA.
Examining Access's Runtime Error Handling.
Working with the Err and Error Objects. Working with the ADO Errors Collection.
Creating User-Defined Errors. Using Custom Error Logs to Track Errors. Creating
a Centralized Error-Handling Routine. A Last Look at Error-Handling Issues.
II. MANIPULATING AND PRESENTING DATA.
8. Using Queries to Get the Most
Out of Your Data.
Understanding Where Queries Are Used in Access.
Working with Select Queries. Working with Action Queries. Performing Advanced
Query Operations. Adding More Power with VBA. Driving Reports and Forms
with Queries. Solving Problems with Queries. Examining the Architecture
of the Query Resolution Process. Optimizing Queries with Jet. Understanding
Optimization Techniques. Using Unconventional Optimization Techniques. Using
the Analyzer Wizards. Looking at Access 2002's New Query Feature.
9. Creating Powerful Forms.
Increasing Form Performance. Looking at Access
2002's New Form Features. Looking at Access 2002's New Form Features. Taking
Advantage of Other Form Features. Reusing Forms to Perform Standard Tasks.
Increasing Tabbed Form Performance.
10. Expanding the Power of Your Forms with Controls.
Setting Up a Field's Lookup Properties for
Use on Forms. Tapping into the Power of Combo Boxes. Working with the Access
Tab Control. Morphing Access Controls. Programming Multiselect ListBox Controls.
Getting Relief with the Subform/Subreport Wizard. Giving Controls Spreadsheet-Type
Cursor Movements. Manipulating Controls Through Code.
11. Creating Powerful Reports.
Creating Summary, Detail, and Summary/Detail
Reports _from the Same Report. Creating Dynamic Groupings for the Same Report
with QBF. The Elusive Feature: Creating Snaking Reports. Printing Multiple
Topics Through a MultiSelect List Box. Creating a Wizard-Like Interface
for Selecting Group-By Items. Formatting Reports Dynamically.
12. Working with Data Access Pages.
Why Data Access Pages? Saving Time with the
Data Access Page Wizards. Creating and Enhancing Simple Data Access Pages.
Grouping Data Access Pages: Reports for the Web. Finding Additional Resources.
III. EXTENDING ACCESS WITH INTEROPERABILITY.
13. Driving Office Applications
with Automation.
Working with Automation. Running Other Applications
from Access with Automation Driving Access from Another Application with
Automation
14. Programming for Power with ActiveX Controls.
Understanding the ActiveX Common Controls.
Using the TabStrip Control. Taking a Closer Look at the ImageList Control.
Emulating the Windows Explorer with the ListView Control. Displaying a Task's
Progress with the ProgressBar Control. Sizing Text Boxes at Runtime with
the Slider Control. Telling It Like It Is with the Rich Textbox Control.
Creating Status Bars for Individual Forms with the _StatusBar Control. Docking
Toolbars on Forms Using the _ToolBar Control. Viewing Data File Manager
Style with the TreeView Control.
15. Extending the Power of Access with API Calls.
Understanding Dynamic Link Libraries. Examining
the Syntax for API Calls. Finding API Declarations. Viewing the Possible
API Calls. Considering Some Issues When Using API Calls. Looking at Some
Examples of API Calls. Displaying Pertinent Folders from Within Your Application.
Using the Open File Dialog API Call.
16. Extending Your VBA Library Power with Class _Modules and
Collections.
Setting Up a Bookmark Tracker. Managing Multiple
Instances of the Same Form.
17. Creating Your Own Wizards and Add-ins.
Understanding Access Wizards, Builders, and
Add-Ins. Looking at the Wizards and Add-In Registry Entries. Creating Your
Own Add-Ins. Using Access Code Libraries.
18. Manipulating the Registry with VBA.
Looking at the Windows Registry's History.
Using VBA's Registry Commands. Performing Tasks with Registry API Calls.
19. Using Access with the Internet.What's New in Access 2002
for the Internet? Using the Access Hyperlink Features. Easily Importing
and Exporting Access Objects to _HTML Documents. Publishing to Other Web
File Formats.
IV. MANAGING DATABASES.
20. Securing Your Application.
Understanding the Purpose of Securing Applications.
Understanding Access Security. Looking at the Security User Interface. Making
Life Easier with Access Security Tools. Avoiding Common Pitfalls Found in
Access Security. Managing Security Through Code. Using the Secured Sample
Database: Chap20s.mdb.
21. Handling Multiuser Situations.
Understanding Multiuser Terminology. Understanding
Multiuser Handling in Access. One or Two Database Containers: Knowing Where
to _Put the Pieces. Looking at the Built-In Locking Modes. Working in VBA
with Unbound Forms. Coding for Multiuser Error Handling.
22. Welcome to the World of Database Replication.
Understanding Database Replication Concepts.
Working with Jet Replication Tools. Converting Databases to Replicas. Synchronizing
Replicas. Understanding Replica Set Topologies. Distributing Replicable
Applications. Replicating Back-End and Front-End Applications. Handling
Replication Conflicts. Understanding Replication Synchronizers. Upgrading
Replica Sets to Access 200x. Securing Replicated Applications . Using MDE
Files with Replicated Databases. Creating Successful Replication Applications.
23. Moving Workgroup Applications to Client/Server.
Understanding Client/Server/. Factoring for
Client/Server Migration. Planning for Client/Server. Knowing What to Watch
for in Application Development. Converting Existing Applications. Distributing
a Client/Server Solution. Keeping Certain Issues in Mind with Access and
SQL Server.
24. Developing SQL Server Projects Using ADPs.
Understanding Project File Architecture.
Working with Projects. Building a Client/Server Application. Working with
Views. Working with Stored Procedures.
V. ADDING FINISHING TOUCHES.
25. Startup Checking System Routines
Using ADO.
Performing Startup System Checks. Setting
and Retrieving System Settings. Notifying and Logging Users Out of an Application.
Testing Table Links at Startup. Testing and Repairing Corrupted Jet Back-End
Databases. Checking and Notifying Users of a New Version.
26. Creating Maintenance Routines.
Creating an Export Dialog to Export Tables.
Compacting and Repairing the Back End on Demand. Creating a Generic Code
Table Editor. Replicating Tables from Back End to Front End for _Better
Performance.
Index.
About the Author
F. Scott Barker has worked as a developer in the Database field for over
13 years, first with Clipper, and with Microsoft Access for the last 6
years. During his two years at Microsoft, Scott was a member of the Microsoft
Access and Foxpro teams. He was a Contributing Editor for two years for
Access/Visual Basic Advisor magazine, and currently writes articles for
them. He has also written for Databased Advisor Magazine, Smart Access,
and Informant's Microsoft Office and VBA Developer magazine. Scott has
trained for Application Developers Training Company and others all around
the U.S. and is a frequent speaker at Access Conferences throughout the
U.S., Canada, South Asia, and Europe. He was also rated as one of the
top Access speakers at Microsoft TechEd95 U.S., and spoke at Microsoft
European TechEd96.