| |
| |
Introduction | |
| |
| |
| |
Client/Server Development | |
| |
| |
| |
A Strategy for Developing Access Applications | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Access as a Development Tool | |
| |
| |
Access as a Scalable Product | |
| |
| |
Splitting Databases into Tables and Other Objects | |
| |
| |
Understanding the Access Runtime Engine | |
| |
| |
Using an EXE Versus Access Database: What It Means to You | |
| |
| |
Understanding the Importance of Securing Your Database | |
| |
| |
Using Access as a Front End | |
| |
| |
Summary | |
| |
| |
| |
Developing Multiuser Applications | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Designing Your Application with Multiuser Issues in Mind | |
| |
| |
Understanding Access's Locking Mechanisms | |
| |
| |
Locking and Refreshing Strategies | |
| |
| |
Form-Locking Strategies | |
| |
| |
Recordset Locking | |
| |
| |
Effectively Handling Locking Conflicts | |
| |
| |
Testing a Record for Locking Status | |
| |
| |
Using Code to Refresh or Requery | |
| |
| |
Understanding the .LDB File | |
| |
| |
The User Roster | |
| |
| |
Creating Custom Counters | |
| |
| |
Using Unbound Forms | |
| |
| |
Using Replication to Improve Performance | |
| |
| |
Summary | |
| |
| |
| |
Introduction to Client/Server Development Techniques | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Understanding the Client/Server Model | |
| |
| |
Deciding Whether to Use the Client/Server Model | |
| |
| |
The Roles Access Plays in the Application Design Model | |
| |
| |
Learning the Client/Server Buzzwords | |
| |
| |
Upsizing: What to Worry About | |
| |
| |
Proactively Preparing for Upsizing | |
| |
| |
Using the Upsizing Wizard | |
| |
| |
Defining an ODBC Data Source | |
| |
| |
Connecting to a Database Server | |
| |
| |
Summary | |
| |
| |
| |
SQL Server Basics | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Editions of SQL Server Available | |
| |
| |
Overview of the SQL Server Components | |
| |
| |
Introduction to the Enterprise Manager | |
| |
| |
Introduction to the Query Analyzer | |
| |
| |
Introduction to the Profiler | |
| |
| |
Introduction to Data Transformation Services | |
| |
| |
Configuring the Server | |
| |
| |
Designing and Creating a SQL Server Database | |
| |
| |
Summary | |
| |
| |
| |
SQL Server Tables and Database Diagrams | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Creating SQL Server Tables | |
| |
| |
Working with Constraints | |
| |
| |
Identity Columns | |
| |
| |
Working with Computed Columns | |
| |
| |
Working with User-Defined Data Types | |
| |
| |
Adding and Modifying Indexes | |
| |
| |
An Introduction to Triggers | |
| |
| |
An Introduction to Relationships | |
| |
| |
Establishing Relationships Between SQL Server Tables | |
| |
| |
Establishing Referential Integrity | |
| |
| |
Looking at the Benefits of Relationships | |
| |
| |
Examining Indexes and Relationships | |
| |
| |
Summary | |
| |
| |
| |
Mastering T-SQL | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Introduction to T-SQL | |
| |
| |
The SELECT Statement | |
| |
| |
Aggregate Functions | |
| |
| |
The HAVING Clause | |
| |
| |
Top Values Queries | |
| |
| |
Join Types | |
| |
| |
Modifying Data with Action Queries | |
| |
| |
T-SQL Functions | |
| |
| |
Summary | |
| |
| |
| |
Working with SQL Server Views | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Creating a Simple View | |
| |
| |
Creating Complex Views | |
| |
| |
Using Views to Secure Data | |
| |
| |
Modifying Data in a View | |
| |
| |
Modifying Views | |
| |
| |
Renaming Views | |
| |
| |
Deleting Views | |
| |
| |
Indexed Views | |
| |
| |
Optimizing the Views That You Build | |
| |
| |
Summary | |
| |
| |
| |
Designing SQL Server Stored Procedures, User-Defined Functions, and Triggers | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Stored Procedure Basics | |
| |
| |
Declaring and Working with Variables | |
| |
| |
Controlling the Flow | |
| |
| |
The SET NOCOUNT Statement | |
| |
| |
Using the @@Functions | |
| |
| |
Working with Parameters | |
| |
| |
Modifying Data with Stored Procedures | |
| |
| |
Errors and Error Handling | |
| |
| |
Stored Procedures and Transactions | |
| |
| |
Stored Procedures and Temporary Tables | |
| |
| |
Stored Procedures and Security | |
| |
| |
Debugging the Stored Procedures That You Build | |
| |
| |
Building and Working with User-Defined Functions | |
| |
| |
Creating and Working with Triggers | |
| |
| |
Summary | |
| |
| |
| |
SQL Server Security | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Security Introduced | |
| |
| |
Authentication | |
| |
| |
Creating Roles | |
| |
| |
Permissions Validation | |
| |
| |
Administering Statement Permissions | |
| |
| |
Creating and Working with Application Roles | |
| |
| |
Access Security and Its Role in a Client/Server Application | |
| |
| |
Summary | |
| |
| |
| |
ADO and SQL Server | |
| |
| |
Why This Chapter Is Important | |
| |
| |
A History of Data Access | |
| |
| |
ADO Quick Review | |
| |
| |
ADO and Stored Procedures | |
| |
| |
Advanced ADO Techniques | |
| |
| |
Summary | |
| |
| |
| |
Developing an MDB Client/Server Application with Linked Tables | |
| |
| |
Why This Chapter Is Important | |
| |
| |
What Is a Linked Client/Server Application? | |
| |
| |
How Linked Table Applications Work | |
| |
| |
Working with Linked Tables | |
| |
| |
Using Pass-Through Queries | |
| |
| |
Executing Stored Procedures | |
| |
| |
Building Client/Server-Friendly Forms | |
| |
| |
Working with Local Tables | |
| |
| |
Populating Combo Boxes and List Boxes Dynamically | |
| |
| |
Building Client/Server-Friendly Reports | |
| |
| |
Linked Table Gotchas | |
| |
| |
Summary | |
| |
| |
| |
Developing an ADP Application | |
| |
| |
Why This Chapter Is Important | |
| |
| |
What Are Access Projects? | |
| |
| |
Creating an Access Project | |
| |
| |
Maintaining a SQL Server Database from an Access Project | |
| |
| |
Building Access Project Forms | |
| |
| |
Special Access Project Form Properties and Techniques | |
| |
| |
Building Access Data Project Reports | |
| |
| |
ADP Gotchas | |
| |
| |
Summary | |
| |
| |
| |
Building Unbound Applications | |
| |
| |
Why This Chapter Is Important | |
| |
| |
The Benefits of Unbound Applications | |
| |
| |
The Unbound Form | |
| |
| |
The Unbound Form and Pass-Through Queries | |
| |
| |
The Unbound Form and Stored Procedures | |
| |
| |
Summary | |
| |
| |
| |
Building N-Tier Applications | |
| |
| |
Why This Chapter Is Important | |
| |
| |
The Basics of N-Tier Development | |
| |
| |
Access's Role in the N-Tier Model | |
| |
| |
Access and a Logical Three-Tier Model | |
| |
| |
Building the Middle-Tier Component | |
| |
| |
Access and a Physical Three-Tier Model | |
| |
| |
Summary | |
| |
| |
| |
Configuring, Maintaining, and Tuning SQL Server | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Hardware Selection and Tuning | |
| |
| |
SQL Server Configuration and Tuning | |
| |
| |
Database Maintenance | |
| |
| |
Table and Object Maintenance | |
| |
| |
Job Maintenance | |
| |
| |
Performance Monitoring | |
| |
| |
Summary | |
| |
| |
| |
Access Enterprise Techniques | |
| |
| |
| |
Transaction Processing | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Understanding the Benefits | |
| |
| |
Modifying the Default Behavior | |
| |
| |
Implementing Explicit Transaction Processing | |
| |
| |
Looking at Transaction Processing Issues | |
| |
| |
Using Transaction Processing in a Multiuser Environment | |
| |
| |
Using Transaction Processing in a Client/Server Environment | |
| |
| |
Practical Examples: Using Transaction Processing to Improve the Integrity of Your Applications | |
| |
| |
Summary | |
| |
| |
| |
Access Replication Made Easy | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Uses of Replication | |
| |
| |
Understanding When Replication Isn't Appropriate | |
| |
| |
Understanding the Implementation of Replication | |
| |
| |
Understanding the Replication Architecture: What Makes Replication Tick? | |
| |
| |
Understanding Replication Topologies | |
| |
| |
Changes That Replication Makes to Your Database | |
| |
| |
Making a Database Replicable | |
| |
| |
Preventing Objects from Being Replicated | |
| |
| |
Creating Additional Replicas | |
| |
| |
Synchronizing Replicas | |
| |
| |
Resolving Replication Conflicts | |
| |
| |
Using the Replication Manager | |
| |
| |
Using Partial Replication | |
| |
| |
Implementing Replication Using Code | |
| |
| |
Practical Examples: Managing the Time and Billing Application with Replication | |
| |
| |
Summary | |
| |
| |
| |
Taking Advantage of the Microsoft Office XP Developer | |
| |
| |
Why This Chapter Is Important | |
| |
| |
What's in the Microsoft Office XP Developer | |
| |
| |
The Access Runtime | |
| |
| |
The Replication Manager | |
| |
| |
The Code Librarian | |
| |
| |
The Code Librarian Viewer | |
| |
| |
The Packaging Wizard | |
| |
| |
The Code Commentor and Error Handler Add-In | |
| |
| |
The VBA String Editor | |
| |
| |
Summary | |
| |
| |
| |
Source Code Control | |
| |
| |
Why This Chapter Is Important | |
| |
| |
How Do I Install Visual SourceSafe? | |
| |
| |
Using Visual SourceSafe: An Overview | |
| |
| |
The Logistics of Managing a Project with Visual SourceSafe | |
| |
| |
Leveraging the Power of Visual SourceSafe | |
| |
| |
Changes Visual SourceSafe Makes to Access's Behavior | |
| |
| |
Understanding the Limitations of Visual SourceSafe | |
| |
| |
Summary | |
| |
| |
| |
Access and The Internet | |
| |
| |
| |
Publishing Data on the Web | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Saving Database Objects as HTML | |
| |
| |
Linking to HTML Files | |
| |
| |
Importing HTML Files | |
| |
| |
Working with Hyperlinks | |
| |
| |
Static Versus Dynamic Web Pages | |
| |
| |
Working with HTX/IDC Files | |
| |
| |
Working with Active Server Pages (.asp Files) | |
| |
| |
Testing ASP and HTX/IDC Files | |
| |
| |
Summary | |
| |
| |
| |
XML Support in Microsoft Access | |
| |
| |
Why This Chapter Is Important | |
| |
| |
The Basics of XML | |
| |
| |
Exporting Data to XML | |
| |
| |
Working with XML Style Sheets (XSL or XSLT) | |
| |
| |
Working with XML Schemas--The XSD File | |
| |
| |
Exporting Gotchas | |
| |
| |
Exporting Forms and Reports to XML | |
| |
| |
Importing XML Data into Access | |
| |
| |
Programmatically Importing and Exporting XML Data | |
| |
| |
Using ADO Code to Work with XML | |
| |
| |
Summary | |
| |
| |
| |
Data Access Pages | |
| |
| |
Why This Chapter Is Important | |
| |
| |
Exploring the Uses of Data Access Pages | |
| |
| |
Creating a Simple Data Access Page | |
| |
| |
Creating a Complex Data Access Page | |
| |
| |
Working with Data Access Page Controls | |
| |
| |
Deleting Data Access Pages | |
| |
| |
Deploying Data Access Pages | |
| |
| |
An Introduction to Scripting Data Access Pages | |
| |
| |
Summary | |
| |
| |
| |
SQL Server and the Internet | |
| |
| |
Why This Chapter Is Important | |
| |
| |
The Web Assistant Wizard | |
| |
| |
Web-Related Stored Procedures | |
| |
| |
Generating XML from SQL Queries | |
| |
| |
Summary | |
| |
| |
Index | |