Tải bản đầy đủ (.pdf) (832 trang)

access 2010 the missing manual

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (12.26 MB, 832 trang )

www.it-ebooks.info
www.it-ebooks.info
Access 2010
Beijing  

  Cambridge  

  Farnham  

  Köln  

  Sebastopol  

  Taipei  

  Tokyo
Matthew MacDonald
www.it-ebooks.info
Access 2010: The Missing Manual
by Matthew MacDonald
Copyright © 2010 O’Reilly Media, Inc. All rights reserved.
Printed in the United States of America.
Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
O’Reilly Media books may be purchased for educational, business, or sales promotional use.
Online editions are also available for most titles: safari.oreilly.com. For more information,
contact our corporate/institutional sales department: 800-998-9938 or
Printing History:
June 2010: First Edition.
Nutshell Handbook, the Nutshell Handbook logo, the O’Reilly logo, and “The book that should
have been in the box” are registered trademarks of O’Reilly Media, Inc. Access 2010: The Missing
Manual, The Missing Manual logo, Pogue Press, and the Pogue Press logo are trademarks of


O’Reilly Media, Inc.
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc.
was aware of a trademark claim, the designations have been printed in caps or initial caps.
While every precaution has been taken in the preparation of this book, the publisher and author
assume no responsibility for errors or omissions, or for damages resulting from the use of the
information contained herein.
ISBN: 9781449382377
[M]
www.it-ebooks.info
iii
Table of Contents
The Missing Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Part One: Storing Information in Tables
Chapter 1: Creating Your First Database . . . . . . . . . . . . . . . 23
Understanding Access Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Getting Started with Your First Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Understanding Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Creating a Simple Table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Editing a Table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Saving Databases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Making Backups
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Saving a Database with a Different Name or Format

. . . . . . . . . . . . . . . . . . 40
Shrinking a Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Opening Databases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Designating a Database as Trusted
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Opening Recent Databases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Opening More Than One Database at Once
. . . . . . . . . . . . . . . . . . . . . . . 44
Opening a Database Created in an Older Version of Access
. . . . . . . . . . . . . . 45
The Navigation Pane
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Browsing Tables with the Navigation Pane
. . . . . . . . . . . . . . . . . . . . . . . 48
Managing Database Objects
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Chapter 2: Building Smarter Tables . . . . . . . . . . . . . . . . . . . 51
Understanding Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Design View
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Organizing and Describing Your Fields
. . . . . . . . . . . . . . . . . . . . . . . . . 54
How Updates Work in Design View
. . . . . . . . . . . . . . . . . . . . . . . . . . . 56
www.it-ebooks.info
iv
  

Access Data Types
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Text
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Memo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Number
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Currency
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Date/Time
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Yes/No
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Hyperlink
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Attachment
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
AutoNumber
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Calculated
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
The Primary Key
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Creating Your Own Primary Key Field
. . . . . . . . . . . . . . . . . . . . . . . . . . 82
Six Principles of Database Design
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
1. Choose Good Field Names
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

2. Break Down Your Information
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3. Include All the Details in One Place
. . . . . . . . . . . . . . . . . . . . . . . . . . 85
4. Avoid Duplicating Information
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5. Avoid Redundant Information
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6. Include an ID Field
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Chapter 3: Mastering the Datasheet: Sorting, Searching,
Filtering, and More . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Datasheet Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Formatting the Datasheet
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Rearranging Columns
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Resizing Rows and Columns
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Hiding Columns
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Freezing Columns
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Datasheet Navigation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Sorting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Filtering
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Searching

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Advanced Editing
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
The Spell Checker
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
AutoCorrect
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Special Characters
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Printing the Datasheet
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Print Preview
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Fine-Tuning a Printout
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Chapter 4: Blocking Bad Data . . . . . . . . . . . . . . . . . . . . . 119
Data Integrity Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Preventing Blank Fields
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Setting Default Values
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Preventing Duplicate Values with Indexes
. . . . . . . . . . . . . . . . . . . . . . . 124
www.it-ebooks.info
v
  
Input Masks
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Using a Readymade Mask
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Creating Your Own Mask
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Validation Rules
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Applying a Field Validation Rule
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Writing a Field Validation Rule
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Creating a Table Validation Rule
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Lookups
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Creating a Simple Lookup with Fixed Values
. . . . . . . . . . . . . . . . . . . . . 145
Adding New Values to Your Lookup List
. . . . . . . . . . . . . . . . . . . . . . . . 147
Chapter 5: Linking Tables with Relationships . . . . . . . . . . . . 149
Relationship Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Redundant Data vs. Related Data
. . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Matching Fields: The Relationship Link
. . . . . . . . . . . . . . . . . . . . . . . . 152
Linking with the ID Column
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
The Parent-Child Relationship
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Using a Relationship
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Defining a Relationship
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Editing Relationships
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Referential Integrity
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Navigating a Relationship
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Lookups with Related Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
More Exotic Relationships
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
One-to-One Relationship
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Many-to-Many Relationship
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Relationship Practice
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
The Music School
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
The Chocolate Store
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Part Two: Manipulating Data with Queries
Chapter 6: Queries That Select Records . . . . . . . . . . . . . . . 187
Query Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Creating Queries
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Creating a Query in Design View
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Creating a Simple Query with the Query Wizard
. . . . . . . . . . . . . . . . . . . 199
Understanding the SQL View

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Queries and Related Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Joining Tables in a Query
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Outer Joins
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Multiple Joins
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
www.it-ebooks.info
vi
  
Chapter 7: Essential Query Tricks . . . . . . . . . . . . . . . . . . . 217
Calculated Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Defining a Calculated Field
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Simple Math with Numeric Fields
. . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Expressions with Text
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Query Functions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Using a Function
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
The Expression Builder
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Formatting Numbers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
More Mathematical Functions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

Text Functions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Date Functions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Dealing with Blank Values (Nulls)
. . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Summarizing Data
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Grouping a Totals Query
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Joins in a Totals Query
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Query Parameters
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Chapter 8: Queries That Update Records . . . . . . . . . . . . . . 247
Understanding Action Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Testing Action Queries (Carefully)
. . . . . . . . . . . . . . . . . . . . . . . . . . . 248
The Action Query Family
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Update Queries
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Append Queries
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Creating an Append (or Make-Table) Query
. . . . . . . . . . . . . . . . . . . . . . 256
Getting AutoNumbers to Start at Values Other Than 1
. . . . . . . . . . . . . . . . 259
Delete Queries
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

Tutorial: Flagging Out-of-Stock Orders
. . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Finding Out-of-Stock Items
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Putting the Orders on Hold
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Chapter 9: Analyzing Data with Crosstab Queries and
Pivot Tables . . . . . . . . . . . . . . . . . . . . . . . . . 267
Understanding Crosstab Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Creating Crosstab Queries
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Creating a Crosstab Query with the Wizard
. . . . . . . . . . . . . . . . . . . . . . 272
Creating a Crosstab Query from Scratch
. . . . . . . . . . . . . . . . . . . . . . . . 276
Pivot Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Building a Pivot Table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Manipulating a Pivot Table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Creating a Calculated Field
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Hiding and Showing Details
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Filtering Pivot Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Pivot Charts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Choosing a Chart Type

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Printing a Pivot Chart
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
www.it-ebooks.info
vii
  
Part Three: Printing Reports
Chapter 10: Creating Reports . . . . . . . . . . . . . . . . . . . . . 297
Report Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Creating a One-Click Report
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Building a Report in Layout View
. . . . . . . . . . . . . . . . . . . . . . . . . . . 300
The Many Views of a Report
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Rearranging a Report
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Printing, Previewing, and Exporting a Report
. . . . . . . . . . . . . . . . . . . . . . . . 308
Previewing a Report
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Export Formats
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Exporting a Report to a PDF
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Exporting a Report to a Different Format
. . . . . . . . . . . . . . . . . . . . . . . 314
Formatting a Report
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Applying a Theme

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Formatting Columns and Column Headers
. . . . . . . . . . . . . . . . . . . . . . 318
Conditional Formatting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Data Bars
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Filtering and Sorting a Report
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Filtering a Report
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Sorting a Report
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Chapter 11: Designing Advanced Reports . . . . . . . . . . . . . . 331
Improving Reports in Design View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
The Design View Sections
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Understanding Controls
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Moving Fields Out of a Layout
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Adding More Controls
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Creating a Report from Scratch (in Design View)
. . . . . . . . . . . . . . . . . . . 340
The Report Wizard
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
The Label Wizard
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Fine-Tuning Reports with Properties

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Modifying Common Properties
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Expressions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Grouping
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Report Grouping
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Fine-Tuning with the “Group, Sort, and Total” Pane
. . . . . . . . . . . . . . . . . . 359
Multiple Groups
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Part Four: Building a User Interface with Forms
Chapter 12: Creating Simple Forms . . . . . . . . . . . . . . . . . . 367
Creating Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Building a Simple Form
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Using AutoNumber Fields in Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . 373
Showing Pictures from a Table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
www.it-ebooks.info
viii
  
Using Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Finding and Editing a Record
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Adding a Record

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Deleting a Record
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Printing Records
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Sorting and Filtering in a Form
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Sorting a Form
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Filtering a Form
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Using the Filter by Form Feature
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Saving Filters for the Future
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Creating Fancy Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Manipulating Layouts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Liberating Controls from Layouts
. . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Using Tabular Layouts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Showing Multiple Records in any Form
. . . . . . . . . . . . . . . . . . . . . . . . 391
Split Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
More Useful Form Properties
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
The Form Wizard

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Chapter 13: Designing Advanced Forms . . . . . . . . . . . . . . . 401
Customizing Forms in Design View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Form Sections: The Different Parts of Your Form
. . . . . . . . . . . . . . . . . . . 402
Adding Controls to Your Form
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
The Control Gallery: A Quick Tour
. . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Arranging Controls on Your Form
. . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Anchoring: Automatically Resizing Controls
. . . . . . . . . . . . . . . . . . . . . . 412
Tab Order: Making Keyboard Navigation Easier
. . . . . . . . . . . . . . . . . . . . 417
Taking Control of Controls
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Locking Down Fields
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Prevent Errors with Validation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Performing Calculations with Expressions
. . . . . . . . . . . . . . . . . . . . . . . 422
Organizing with Tab Controls
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Going Places with Links
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Showing Web Pages with the Web Browser
. . . . . . . . . . . . . . . . . . . . . . 426
Navigating with Lists

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Performing Actions with Command Buttons
. . . . . . . . . . . . . . . . . . . . . . 431
Forms and Linked Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Table Relationships and Simple Forms
. . . . . . . . . . . . . . . . . . . . . . . . . 434
The Subform Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Creating Customized Subforms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Chapter 14: Building a Navigation System . . . . . . . . . . . . . . 439
Mastering the Navigation Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Configuring the Navigation List
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Better Filtering
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Hiding Objects
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
www.it-ebooks.info
ix
  
Using Custom Groups
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Searching the Navigation List
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Building Forms with Navigation Smarts
. . . . . . . . . . . . . . . . . . . . . . . . . . 449
Custom Menu Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449

Designating a Startup Form
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Compound Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Showing All Your Forms in a List
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Navigation Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Creating a Single-Level Navigation Form
. . . . . . . . . . . . . . . . . . . . . . . 458
Creating a Two-Level Navigation Form
. . . . . . . . . . . . . . . . . . . . . . . . 461
Fine-Tuning Your Navigation Buttons
. . . . . . . . . . . . . . . . . . . . . . . . . 462
Linking to Related Data
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Showing Linked Records in Separate Forms
. . . . . . . . . . . . . . . . . . . . . . 463
Showing More Detailed Reports with Links
. . . . . . . . . . . . . . . . . . . . . . 466
Part Five: Programming Access
Chapter 15: Automating Tasks with Macros . . . . . . . . . . . . . 473
Macro Essentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Creating a Macro
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Running a Macro
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Editing a Macro
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Finding Actions in the Action Catalog

. . . . . . . . . . . . . . . . . . . . . . . . . 480
Collapsing, Expanding, and Grouping Macro Actions
. . . . . . . . . . . . . . . . . 482
Solving Macro Problems
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Macros and Security
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Unsafe Macro Actions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Trusted Databases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Temporary Trust
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
The Trust Center
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Setting Up a Trusted Location
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Three Macro Recipes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Find a Record
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Print a Report
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Email Your Data
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Managing Macros
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Submacros
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Assigning a Macro to a Keystroke

. . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Configuring a Startup Macro
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Chapter 16: Connecting Macros to Forms and Tables . . . . . . . 505
Macro-Powered Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
Understanding Events
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Attaching a Macro to an Event
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Reading Arguments from a Form
. . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Changing Form Properties
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
www.it-ebooks.info
x
  
Conditional Macros
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Building a Condition
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Validating Data with Conditions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
More Complex Conditional Macros
. . . . . . . . . . . . . . . . . . . . . . . . . . 517
Data Macros
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Table Events
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Validation with Before Events
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521

Keeping a Change Log
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Debugging Data Macros
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
An Advanced Data Macro: Synchronizing Data
. . . . . . . . . . . . . . . . . . . . 530
Chapter 17: Automating Tasks with Visual Basic . . . . . . . . . . 535
The Visual Basic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Adding a New Module
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Writing the Simplest Possible Code Routine
. . . . . . . . . . . . . . . . . . . . . . 538
Putting Code in a Form
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Responding to a Form Event
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Calling the Code in a Module
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Reading and Writing the Fields on a Form
. . . . . . . . . . . . . . . . . . . . . . . 546
Understanding Objects
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Properties
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Methods
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Events
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Using Objects
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554

Indicating That a Record Has Changed
. . . . . . . . . . . . . . . . . . . . . . . . 554
Creating a Mouseover Effect
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Chapter 18: Writing Smarter Code . . . . . . . . . . . . . . . . . . 563
Exploring the VB Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Storing Information in Variables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Making Decisions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Repeating Actions with a Loop
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Creating Custom Functions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Putting It All Together: A Function for Testing Credit Cards
. . . . . . . . . . . . . . 571
Dealing with Trouble
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Debugging
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Error Handling
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
Deeper into Objects
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
The DoCmd Object
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Converting a Macro to VB Code
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Using VB to Run a Better Business
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587

Keeping a Running Total
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Getting Price Information
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Adding a New Product During an Order
. . . . . . . . . . . . . . . . . . . . . . . . 592
Managing Order Fulfillment
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Updating Stock Numbers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
www.it-ebooks.info
xi
  
Part Six: Sharing Access with the Rest of the World
Chapter 19: Sharing a Database with Multiple Users . . . . . . . 605
Opening Up Your Database to the World . . . . . . . . . . . . . . . . . . . . . . . . . . 606
How Access Sharing Works
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Preparing Your Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Understanding Split Databases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Splitting a Database with the Wizard
. . . . . . . . . . . . . . . . . . . . . . . . . 610
How Linked Tables Work
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Manually Splitting a Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Locking Down Your Front End
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618

Sharing a Database with People Who Don’t Own Access
. . . . . . . . . . . . . . . 620
Playing Well with Others
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Seeing Changes As They Happen
. . . . . . . . . . . . . . . . . . . . . . . . . . . 622
Dealing with Editing Conflicts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Using Locks to Stop Overlapping Edits
. . . . . . . . . . . . . . . . . . . . . . . . . 626
Opening a Database in Exclusive Mode
. . . . . . . . . . . . . . . . . . . . . . . . 628
Data Corruption
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
Diagnosing (and Fixing) Corrupt Databases
. . . . . . . . . . . . . . . . . . . . . . 629
Preventing Corruption
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Securing Your Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Password-Protecting Your Database
. . . . . . . . . . . . . . . . . . . . . . . . . . 632
Passwords and Split Databases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Using Windows File Security
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Chapter 20: Importing and Exporting Data . . . . . . . . . . . . . 639
Case for Importing and Exporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Understanding Exports
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640

Understanding Imports
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Using the Clipboard
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
Copying a Table from Access to Somewhere Else
. . . . . . . . . . . . . . . . . . . 642
Copying Cells from Excel into Access
. . . . . . . . . . . . . . . . . . . . . . . . . 644
Import and Export Operations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Importable File Types
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Importing Data
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Importing from an Excel File
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Importing from a Text File
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Exportable File Types
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Exporting Data
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Reusing Import and Export Settings
. . . . . . . . . . . . . . . . . . . . . . . . . . 657
Access and XML
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
What Is XML, Really?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Three Rules of XML
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661

XML Files and Schemas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
www.it-ebooks.info
xii
  
The Access XML Story
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
Exporting to an XML File
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Importing from an XML File
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Collecting Info by Email
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Creating an Email Message
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
Processing Replies Manually
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
Processing Replies Automatically
. . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Managing Your Email Collection Settings
. . . . . . . . . . . . . . . . . . . . . . . 679
Chapter 21: Connecting Access to SQL Server . . . . . . . . . . . . 683
Should You Switch to SQL Server? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
How SQL Server Works
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
A Cheaper SQL Server
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
Getting Started: SQL Server Express
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Preparing for SQL Server Express

. . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Downloading SQL Server Express
. . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Installing SQL Server Express
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
Putting SQL Server on the Network
. . . . . . . . . . . . . . . . . . . . . . . . . . 696
Creating a SQL Server Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Upsizing a Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Managing Your Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Creating a SQL Server Database from Scratch
. . . . . . . . . . . . . . . . . . . . . 706
Adding Objects to a SQL Server Database
. . . . . . . . . . . . . . . . . . . . . . . . . 707
Creating a Table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
Understanding Queries
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
Creating a View
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Chapter 22: Connecting Access to SharePoint . . . . . . . . . . . 719
Understanding SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
What You Can Do in SharePoint
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
Setting Up SharePoint
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
Creating a Team Site

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
Customizing Your Site
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
SharePoint and Access
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
Building a List
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
Exporting a Table to SharePoint
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
Importing a List in Access
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
Moving a Whole Database to SharePoint
. . . . . . . . . . . . . . . . . . . . . . . 742
Editing Your SharePoint Data in Access
. . . . . . . . . . . . . . . . . . . . . . . . 745
Making Offline Changes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Chapter 23: Building a Web Database . . . . . . . . . . . . . . . . 751
Understanding Web Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
Your First Web Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
Creating a New Web Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Client Objects and Web Objects
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
www.it-ebooks.info
xiii
  
Publishing a Web Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758

The SharePoint Web Database Page
. . . . . . . . . . . . . . . . . . . . . . . . . . 760
Web Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
Distributing Your Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
Synchronizing Your Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
Working Offline
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
Delving Deeper into Web Objects
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
Web Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
Web Reports
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
Web Queries
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
Web Macros
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
Converting an Existing Database to a Web Database
. . . . . . . . . . . . . . . . . . . 776
Checking Web Compatibility
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Migration Strategies
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
Part Eight: Appendix
Appendix A: Customizing Access . . . . . . . . . . . . . . . . . . . 783
Adding Your Favorites to the QAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
Adding Buttons

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
Customizing Specific Databases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
Personalizing the Ribbon
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
Changing Existing Tabs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
Creating Your Own Tab
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
Saving and Reusing Your Custom Ribbon
. . . . . . . . . . . . . . . . . . . . . . . 793
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
www.it-ebooks.info
www.it-ebooks.info
xv
The Missing Credits
About the Author
Matthew MacDonald is a science and technology writer with well over a dozen
books to his name. Office geeks can follow him into the word of spreadsheets with
Excel 2010: The Missing Manual. Web fans can build an online home with him in
Creating a Web Site: The Missing Manual. And human beings of all descriptions can
discover just how strange they really are in Your Brain: The Missing Manual and Your
Body: The Missing Manual.
About the Creative Team
Nan Barber (editor) has been involved for the Missing Manual series since its in-
ception. She lives in Massachusetts with her husband and iMac. Email: nanbarber@
oreilly.com.
Nellie McKesson (production editor) lives in Brockton, Mass., and spends her spare
time studying graphic design and making t-shirts (www.endplasticdesigns.com).
Email:

James Turner (technical reviewer) (technical reviewer) is a contributing editor for
www.oreilly.com and a freelance journalist who has written for publications as di-
verse as the Christian Science Monitor, IEEE Spectrum, Linuxworld magazine, and
WIRED magazine. Email:
John Pierce (technical reviewer) is the author of Microsoft Access 2003 Inside Track
(Microsoft Press). He worked at Microsoft as an editor and writer for 12 years and
is currently a freelance editor specializing in software, poetry, and history. Email:

www.it-ebooks.info
The Missing Credits
xvi
  
Angela Howard (indexer) has been indexing for over 10 years, mostly for computer
books, but occasionally for books on other topics such as travel, alternative medi-
cine, and leopard geckos. She lives in California with her husband, daughter, and
two cats.
Jan Jue (copy editor) enjoys freelance copy editing, a good mystery, and the search
for the perfect potsticker. Email:
Acknowledgements
Writing a book about a program as sprawling and complex as Access is a labor of
love (love of pain, that is). I’m deeply indebted to a whole host of people who helped
out with this edition and the previous one. They include Nan Barber, Brian Saw-
yer, Nellie McKesson, and Peter Meyers, and technical reviewers John Pierce, James
Turner, Juel Bortolussi, and Michael Schmalz. I also owe thanks to many people who
worked to get this book formatted, indexed, and printed—you can meet many of
them on the Missing Credits page.
Completing this book required a few sleepless nights (and many sleep-deprived
days). I extend my love and thanks to my daughters, Maya and Brenna, who put
up with it without crying most of the time, my dear wife, Faria, who mostly did the
same, and our moms and dads (Nora, Razia, Paul, and Hamid), who contributed

hours of babysitting, tasty meals, and general help around the house that kept this
book on track. So thanks everyone—without you, half of the book would still be
trapped inside my brain!
—Matthew MacDonald
The Missing Manual Series
Missing Manuals are witty, superbly written guides to computer products that don’t
come with printed manuals (which is just about all of them). Each book features a
handcrafted index and cross-references to specific pages (not just chapters).
Recent and upcoming titles include:
Access 2007: The Missing Manual by Matthew MacDonald
Buying a Home: The Missing Manual by Nancy Conner
CSS: The Missing Manual, Second Edition, by David Sawyer McFarland
Creating a Web Site: The Missing Manual, Second Edition, by Matthew MacDonald
David Pogue’s Digital Photography: The Missing Manual by David Pogue
Dreamweaver CS4: The Missing Manual by David Sawyer McFarland
Dreamweaver CS5: The Missing Manual by David Sawyer McFarland
Excel 2007: The Missing Manual by Matthew MacDonald
Excel 2010: The Missing Manual by Matthew MacDonald
www.it-ebooks.info
The Missing Credits
xvii
  
Facebook: The Missing Manual, Second Edition by E.A. Vander Veer
FileMaker Pro 10: The Missing Manual by Susan Prosser and Geoff Coffey
FileMaker Pro 11: The Missing Manual by Susan Prosser and Stuart Gripman
Flash CS4: The Missing Manual by Chris Grover with E.A. Vander Veer
Flash CS5: The Missing Manual by Chris Grover
Google Apps: The Missing Manual by Nancy Conner
The Internet: The Missing Manual by David Pogue and J.D. Biersdorfer
iMovie ’08 & iDVD: The Missing Manual by David Pogue

iMovie ’09 & iDVD: The Missing Manual by David Pogue and Aaron Miller
iPad: The Missing Manual by J.D. Biersdorfer and David Pogue
iPhone: The Missing Manual, Second Edition by David Pogue
iPhone App Development: The Missing Manual by Craig Hockenberry
iPhoto ’08: The Missing Manual by David Pogue
iPhoto ’09: The Missing Manual by David Pogue and J.D. Biersdorfer
iPod: The Missing Manual, Eighth Edition by J.D. Biersdorfer and David Pogue
JavaScript: The Missing Manual by David Sawyer McFarland
Living Green: The Missing Manual by Nancy Conner
Mac OS X: The Missing Manual, Leopard Edition by David Pogue
Mac OS X Snow Leopard: The Missing Manual by David Pogue
Microsoft Project 2007: The Missing Manual by Bonnie Biafore
Microsoft Project 2010: The Missing Manual by Bonnie Biafore
Netbooks: The Missing Manual by J.D. Biersdorfer
Office 2007: The Missing Manual by Chris Grover, Matthew MacDonald, and E.A.
Vander Veer
Office 2010: The Missing Manual by Nancy Connor, Chris Grover, and Matthew Mac-
Donald
Office 2008 for Macintosh: The Missing Manual by Jim Elferdink
Palm Pre: The Missing Manual by Ed Baig
PCs: The Missing Manual by Andy Rathbone
Personal Investing: The Missing Manual by Bonnie Biafore
Photoshop CS4: The Missing Manual by Lesa Snider
www.it-ebooks.info
The Missing Credits
xviii
  
Photoshop CS5: The Missing Manual by Lesa Snider
Photoshop Elements 7: The Missing Manual by Barbara Brundage
Photoshop Elements 8 for Mac: The Missing Manual by Barbara Brundage

Photoshop Elements 8 for Windows: The Missing Manual by Barbara Brundage
PowerPoint 2007: The Missing Manual by E.A. Vander Veer
Premiere Elements 8: The Missing Manual by Chris Grover
QuickBase: The Missing Manual by Nancy Conner
QuickBooks 2010: The Missing Manual by Bonnie Biafore
QuickBooks 2011: The Missing Manual by Bonnie Biafore
Quicken 2009: The Missing Manual by Bonnie Biafore
Switching to the Mac: The Missing Manual, Leopard Edition by David Pogue
Switching to the Mac: The Missing Manual, Snow Leopard Edition by David Pogue
Wikipedia: The Missing Manual by John Broughton
Windows XP Home Edition: The Missing Manual, Second Edition by David Pogue
Windows XP Pro: The Missing Manual, Second Edition by David Pogue, Craig Zack-
er, and Linda Zacker
Windows Vista: The Missing Manual by David Pogue
Windows 7: The Missing Manual by David Pogue
Word 2007: The Missing Manual by Chris Grover
Your Body: The Missing Manual by Matthew MacDonald
Your Brain: The Missing Manual by Matthew MacDonald
Your Money: The Missing Manual by J.D. Roth
www.it-ebooks.info
1
Introduction
P
eople have tried a variety of techniques to organize information. They’ve used
Rolodexes, punch cards, cardboard boxes, vertical files, Post-it notes, 10,000-
page indexes, and (when all else failed) large piles on top of flat surfaces. But
after much suffering, people discovered that computers were far better at dealing
with information, especially when that information is large, complex, or changes
frequently.
That’s where Microsoft Access comes into the picture. Access is a tool for manag-

ing databases—carefully structured catalogs of information (or data). Databases can
store just about any type of information, including numbers, pages of text, and pic-
tures. Databases also range wildly in size—they can handle everything from your list
of family phone numbers to a ginormous product catalog for Aunt Ethel’s Discount
Button Boutique.
In this book, you’ll learn how to design complete databases, maintain them, search
for valuable nuggets of information, and build attractive forms for quick and easy
data entry. You’ll delve into the black art of Access programming, where you’ll pick
up valuable tricks and techniques that you can use to automate common tasks, even
if you’ve never touched a line of code before. And you’ll even explore the new web
database feature that lets you put your database online so anyone can use it—provided
you have the right hosting company to help you out.
What You Can Do with Access
The modern world is filled with information. A web search for a ho-hum topic like
“canned carrots” nets more than a million web pages. As a result, it’s no surprise that
people from all walks of life need great tools to store and manage information.
www.it-ebooks.info
Introduction
2
A : T M M
It’s impossible to describe even a fraction of the different databases that Access fans
create every day. But just to get you thinking like a database maven, here are some
common types of information that you can store handily in an Access database:
• Catalogs of books, CDs, rare wine vintages, risqué movies, or anything else you
want to collect and keep track of.
• Mailing lists that let you keep in touch with friends, family, and coworkers.
• Business information, like customer lists, product catalogs, order records, and
invoices.
• Lists of guests and gifts for weddings and other celebrations.
• Lists of expenses, investments, and other financial planning details.

Think of Access as a personal assistant that can help you organize, update, and find
any type of information. This help isn’t just a convenience—it also lets you do things
you could never accomplish on your own.
UP TO SPEED
The Benefits of a Good Database
Many people use an address book to keep track of close
friends, distant relatives, or annoying coworkers. For the
most part, the low-tech address book works great. But con-
sider what happens if you decide to store the same informa-
tion in an Access database. Even though your contact list isn’t
storing Google-sized volumes of information, it still offers a
few features that you wouldn’t have without Access:
• Backup. If you’ve ever tried to decipher a phone
number through a coffee stain, you know that
sometimes it helps to have things in electronic form.
Once you place all your contact information into a
database, you’ll be able to preserve it in case of di-
saster, and print as many copies as you need (each
with some or all of the information showing). You
can even share your list with a friend who needs the
same numbers.
• Space. Although most people can fit all the contacts
they need into a small address book, a database
ensures you’ll never fill up that “M” section. Not to
mention that you can cross out and rewrite the ad-
dress for your itinerant Uncle Sid only so many times
before you run out of room.
• Searching. An address book organizes contacts in
one way—by name. But what happens once you’ve
entered everyone in alphabetical order by last name,

and you need to look up a contact you vaguely re-
member as Joe? Access can effortlessly handle this
search. It can also find a matching entry by phone
number, which is great if your phone gives you a
log of missed calls, and you want to figure out who’s
been pestering you.
• Sharing. Only one person at a time can edit most
ordinary files like Microsoft Word documents and
spreadsheets. This limitation causes a problem if
you need your entire office team to collaborate on a
potluck menu. But Access lets multiple people review
and change your data at the same time, on different
computers. Chapter 19 has the full story.
• Integration with other applications. Access intro-
duces you to a realm of timesaving possibilities like
mail merge. You can feed a list of contacts into a form
letter you create in Word, and automatically generate
dozens of individually addressed letters. You’ll see
how to export Access data in Chapter 20.
All these examples demonstrate solid reasons to go elec-
tronic with almost any type of information.
www.it-ebooks.info
Introduction
3

Imagine you’ve just finished compiling a database for your collection of 10,000 rare
comic books. On a whim, you decide to take a look at all the books written in 1987.
Or just those that feature Aquaman. Or those that contain the words “special edi-
tion” in the title. Performing these searches with a paper catalog would take days.
On an average computer, Access can perform all three searches in under a second.

Access is also the king of small businesses because of its legendary powers of cus-
tomization. Though you can use virtually any database product to create a list
of customer orders, only Access makes it easy to build a full user interface for that
database (as shown in Figure I-1).
Figure I-1:
This sales database
includes handy forms
that salespeople can
use to place new
orders (shown here),
customer service
representatives can
use to sign up new
customers, and ware-
house staff can use
to review outgoing
shipments. Best of all,
the people who are
using the forms in the
database don’t need
to know anything
about Access. As long
as a database pro
(like your future self,
once you’ve finished
this book) has
designed these forms,
anyone can use them
to enter, edit, and
review data.

The Two Sides of Access
As you’ll see, you’ll actually perform two separate tasks with Access:
• Designing your database. This task involves creating tables to hold data, que-
ries that can ferret out important pieces of information, forms that make it easy
to enter information, and reports that produce attractive printouts.
• Dealing with data. This task involves adding new information to the database,
updating what’s there, or just searching for the details you need. To do this work,
you use the tables, queries, forms, and reports that you’ve already built.
www.it-ebooks.info
Introduction
4
A : T M M
Most of this book is dedicated to task #1—creating and perfecting your database.
This job is the heart of Access, and it’s the part that initially seems the most daunting.
It’s also what separates the Access masters from the neophytes.
Once you’ve finished task #1, you’re ready to move on to task #2—actually using
the database in your day-to-day life. Although task #1 is more challenging, you’ll
(eventually) spend more time on task #2. For example, you might spend a couple of
hours creating a database to keep track of your favorite recipes, but you’ll wind up
entering new information and looking up recipes for years (say, every time you need
to cook up dinner).
Access vs. Excel
Access isn’t the only Office product that can deal with lists and tables of information.
Microsoft Excel also includes features for creating and managing lists. So what’s the
difference?
Although Excel’s perfectly good for small, simple amounts of information, it just
can’t handle the same quantity and complexity of information as Access. Excel also
falters if you need to maintain multiple lists with related information (for example,
if you want to track a list of your business customers and a list of the orders they’ve
made). Excel forces you to completely separate these lists, which makes it harder to

analyze your data and introduces the possibility of inconsistent information. Access
lets you set up strict links between tables, which prevents these problems.
Access also provides all sorts of features that don’t have any parallel in the spread-
sheet world, such as the ability to create customized search routines, design fine-
tuned forms for data entry, and print a variety of snazzy reports.
Of course, all this isn’t to say that Access is better than Excel. In fact, in many cases
you might want Excel to partner up with Access. Excel shines when crunching reams
of numbers to create graphs, generate statistics, or predict trends. Many organiza-
tions use Access to store and manage information, and then export a portion of that
information to an Excel spreadsheet whenever they need to analyze it. You’ll learn
how to take this step in Chapter 20.
Tip: Looking to polish up your Excel skills? Check out Excel 2010: The Missing Manual.
Access vs. SQL Server
Microsoft provides another database product—the industrial-strength SQL Server,
which powers everything from Microsoft’s own search engine to the NASDAQ stock
exchange. Clearly, SQL Server is big business, and many Access fans wonder how
their favorite database software compares.
www.it-ebooks.info
Introduction
5

One of the most important differences between Access and database products like
SQL Server is that Access is a client-side database. In non-techie terms, that means
that Access runs right on your personal computer. Database engines like SQL Server
are server-based: They store the data on a high-powered server computer, which you
access from a garden variety PC. (This interaction happens over a local network.)
Server-based databases are much more complex to set up and maintain, but they
provide enhanced performance and rock-solid stability, even when thousands of
people use them at once. However, the only people that require high-end databases
like SQL Server are large organizations. Amazon.com wouldn’t last 5 minutes if it

had to rely on an Access database. But Access works just fine for most small and
mid-sized businesses. It’s also perfect for personal use. (If you still have lingering
doubts about whether Access can meet your needs, check out the box on page 6.)
Another important difference between Access and server-side database products is
that Access is an all-in-one solution for storing and interacting with data. Server-
side database engines like SQL Server focus exclusively on storing data (and sending
that data to other computers when they request it). However, this single-minded
design has a sizable price. An ordinary person can’t directly edit a database that’s
stored by SQL Server. Instead, you need to use yet another program that can talk to
SQL Server and ask for the information it needs. In most cases, this program needs
to be hand-built by a savvy programmer. In other words, if you’re using SQL Server,
you need to write a whole application before you can effectively use your database.
Sometimes, Access fans do turn into SQL Server gurus. You can start with a mod-
est Access database and then step up to SQL Server when your needs exceed what
Access provides. The process isn’t always seamless, but it’s possible. You can even
keep using Access as a front end to manage your SQL Server database. You can learn
about this trick in Chapter 21.
The Modern Face of Access
Ever since Microsoft Office conquered the world (way back in the 1990s), programs
like Word, Excel, and Access haven’t changed a lot. Although a genuinely useful new
feature appears once in a while, Microsoft spends more time wedging in odd gim-
micks like a talking paper clip. But after spending far too long trying to simplify the
haphazard, toolbar-choked interfaces in most Office applications, Microsoft finally
worked up the courage to redesign it all from scratch, throwing out the menus and
toolbars and replacing them with a slick new ribbon.
Access 2010 inherits the revamped user interface from Access 2007 and adds a few
refinements of its own. Chief among them is something called backstage view, a cen-
tral hub for creating, opening, and saving database files.
www.it-ebooks.info

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×