Introduction |
|
1 | (6) |
|
Who Should Read This Book |
|
|
1 | (1) |
|
How This Book Is Organized |
|
|
1 | (4) |
|
Requirements, Editions, and Features |
|
|
2 | (3) |
|
|
5 | (2) |
|
1 Why Use Microsoft Access? |
|
|
7 | (18) |
|
What Is a Relational Database? |
|
|
8 | (1) |
|
What Types of Things Can I Do with Microsoft Access? |
|
|
8 | (3) |
|
Access as a Development Platform for Small-Business Applications |
|
|
9 | (1) |
|
Access as a Development Platform for Departmental Applications |
|
|
9 | (1) |
|
Access as a Development Platform for Corporation-Wide Applications |
|
|
10 | (1) |
|
Access as a Front End for Enterprisewide Client/Server Applications |
|
|
11 | (1) |
|
Access as a Tool to Develop Web Applications |
|
|
11 | (1) |
|
A Preview of the Database Components |
|
|
11 | (14) |
|
Tables: A Repository for Data |
|
|
11 | (3) |
|
Relationships: Tying the Tables Together |
|
|
14 | (2) |
|
Queries: Stored Questions or Actions You Apply to Data |
|
|
16 | (1) |
|
Forms: A Means to Display, Modify, and Add Data |
|
|
17 | (1) |
|
Reports: Turning Data into Information |
|
|
18 | (2) |
|
Macros: A Means of Automating a System |
|
|
20 | (1) |
|
Modules: The Foundation of the Application Development Process |
|
|
21 | (4) |
|
2 Getting Started with Microsoft Access |
|
|
25 | (10) |
|
Creating a Database from a Template |
|
|
26 | (1) |
|
|
27 | (4) |
|
|
27 | (3) |
|
|
30 | (1) |
|
|
30 | (1) |
|
|
31 | (1) |
|
Creating a Database from Scratch |
|
|
31 | (1) |
|
Opening an Existing Database |
|
|
32 | (1) |
|
|
33 | (1) |
|
|
33 | (2) |
|
3 Tables: The Repository for Your Data |
|
|
35 | (16) |
|
|
36 | (3) |
|
|
36 | (1) |
|
Navigating Around a Table |
|
|
36 | (2) |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
39 | (1) |
|
|
39 | (1) |
|
Adding Records to a Table |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
41 | (6) |
|
Selecting One or More Records |
|
|
41 | (1) |
|
|
42 | (2) |
|
Finding and Replacing Records |
|
|
44 | (3) |
|
|
47 | (4) |
|
|
47 | (1) |
|
|
48 | (3) |
|
4 Using Queries to Retrieve the Data You Need |
|
|
51 | (18) |
|
What Is a Query and When Should You Use One? |
|
|
51 | (1) |
|
|
52 | (4) |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
53 | (3) |
|
Ordering the Query Result |
|
|
56 | (1) |
|
Sorting on a Single Field |
|
|
56 | (1) |
|
Sorting on More Than One Field |
|
|
57 | (1) |
|
Working with Simple Criteria |
|
|
57 | (9) |
|
Using an Exact Match Query |
|
|
57 | (1) |
|
Creating Criteria Based on Multiple Conditions |
|
|
58 | (8) |
|
|
66 | (1) |
|
|
66 | (3) |
|
5 Using Forms to Display and Modify Information |
|
|
69 | (16) |
|
Moving from Record to Record in a Form |
|
|
70 | (1) |
|
Undoing Changes Made Within a Form |
|
|
71 | (2) |
|
Using a Form to Delete Records from a Table |
|
|
73 | (3) |
|
Copying Records Within a Form |
|
|
76 | (1) |
|
Finding a Record That Meets Specific Criteria |
|
|
77 | (2) |
|
|
79 | (1) |
|
Sort Records on a Single Field |
|
|
80 | (1) |
|
Filtering the Data Underlying a Form |
|
|
80 | (3) |
|
Use the Filter by Form Feature |
|
|
80 | (1) |
|
|
81 | (1) |
|
Use Multiple Filter Criteria |
|
|
81 | (2) |
|
|
83 | (2) |
|
6 Creating Your Own Forms |
|
|
85 | (14) |
|
|
86 | (1) |
|
Create a Form by Using the AutoForm Feature |
|
|
86 | (1) |
|
|
87 | (1) |
|
Using the Form Wizard to Build a Form |
|
|
87 | (1) |
|
|
88 | (2) |
|
Creating Multiple Item Forms |
|
|
90 | (1) |
|
Creating Navigation Forms |
|
|
91 | (8) |
|
Customizing a Navigation Form |
|
|
93 | (2) |
|
Creating a Navigation Form with Horizontal and Vertical Tabs |
|
|
95 | (4) |
|
7 Using Reports to Print Information |
|
|
99 | (10) |
|
Opening and Viewing a Report |
|
|
100 | (3) |
|
|
100 | (1) |
|
|
100 | (1) |
|
|
101 | (1) |
|
|
102 | (1) |
|
|
103 | (1) |
|
|
103 | (1) |
|
|
104 | (1) |
|
|
104 | (1) |
|
Sending Reports to the Printer |
|
|
105 | (1) |
|
|
105 | (4) |
|
8 Building Your Own Reports |
|
|
109 | (16) |
|
Using the AutoReport Feature |
|
|
110 | (3) |
|
Viewing the Design of a Report |
|
|
113 | (1) |
|
Types of Reports Available |
|
|
114 | (11) |
|
|
114 | (1) |
|
|
115 | (1) |
|
|
116 | (1) |
|
|
116 | (1) |
|
|
117 | (1) |
|
|
117 | (8) |
|
9 Creating Your Own Tables |
|
|
125 | (26) |
|
|
126 | (3) |
|
Building a Table from a Datasheet |
|
|
126 | (2) |
|
Designing a Table from Scratch |
|
|
128 | (1) |
|
Selecting the Appropriate Field Type for Data |
|
|
129 | (6) |
|
Short Text Fields: The Most Common Field Type |
|
|
132 | (1) |
|
Long Text Fields: For Long Notes and Comments |
|
|
132 | (1) |
|
Number Fields: For When You Need to Calculate |
|
|
132 | (1) |
|
Date/Time Fields: For Tracking When Things Happened |
|
|
133 | (1) |
|
Currency Fields: For Storing Money |
|
|
133 | (1) |
|
AutoNumber Fields: For Unique Record Identifiers |
|
|
133 | (1) |
|
Yes/No Fields: For When One of Two Answers Is Correct |
|
|
134 | (1) |
|
OLE Object Fields: For Storing Just About Anything |
|
|
134 | (1) |
|
Hyperlink Fields: For Linking to the Internet |
|
|
134 | (1) |
|
Attachment Fields: For Storing File Attachments Associated with a Record |
|
|
134 | (1) |
|
Calculated Fields: For Storing Your Database Calculations |
|
|
135 | (1) |
|
Using Indexes to Improve Performance |
|
|
135 | (2) |
|
Create an Index Based on a Single Field |
|
|
136 | (1) |
|
Create an Index Based on Multiple Fields |
|
|
137 | (1) |
|
The All-Important Primary Key |
|
|
137 | (1) |
|
Working with Field Properties |
|
|
138 | (6) |
|
The Field Size Property: Limiting What the User Enters into a Field |
|
|
139 | (1) |
|
The Format Property: Determining How Access Displays Data |
|
|
139 | (2) |
|
The Caption Property: Providing Alternatives to the Field Name |
|
|
141 | (1) |
|
The Default Value Property: Saving Data-Entry Time |
|
|
142 | (1) |
|
The Validation Rule and Validation Text Properties: Controlling What the User Enters in a Field |
|
|
142 | (2) |
|
The Required Property: Making the User Enter a Value |
|
|
144 | (1) |
|
The Allow Zero Length Property: Accommodating for Situations with Nonexistent Data |
|
|
144 | (1) |
|
The Input Mask Property: Determining What Data Goes into a Field |
|
|
145 | (2) |
|
|
147 | (4) |
|
10 Relating the Information in Your Database |
|
|
151 | (20) |
|
Introduction to Relational Database Design |
|
|
152 | (1) |
|
The History of Relational Database Design |
|
|
152 | (7) |
|
Goals of Relational Database Design |
|
|
152 | (1) |
|
Rules of Relational Database Design |
|
|
152 | (2) |
|
Normalization and Normal Forms |
|
|
154 | (4) |
|
Denormalization: Purposely Violating the Rules |
|
|
158 | (1) |
|
|
158 | (1) |
|
The Types of Relationships |
|
|
159 | (2) |
|
One-to-Many Relationships |
|
|
159 | (1) |
|
|
160 | (1) |
|
Many-to-Many Relationships |
|
|
161 | (1) |
|
Establishing Relationships in Access |
|
|
161 | (3) |
|
Following Guidelines for Establishing Relationships |
|
|
162 | (2) |
|
Modifying an Existing Relationship |
|
|
164 | (1) |
|
Establishing Referential Integrity |
|
|
164 | (7) |
|
The Cascade Update Related Fields Option |
|
|
166 | (1) |
|
The Cascade Delete Related Records Option |
|
|
167 | (4) |
|
11 Enhancing the Queries That You Build |
|
|
171 | (18) |
|
Everything You Ever Needed to Know About Query Basics |
|
|
172 | (1) |
|
Removing a Field from the Query Design Grid |
|
|
172 | (1) |
|
Inserting a Field After a Query Is Built |
|
|
172 | (1) |
|
Moving a Field to a Different Location on the Query Grid |
|
|
173 | (1) |
|
Move More Than One Column |
|
|
173 | (1) |
|
|
173 | (1) |
|
Update Results of a Query |
|
|
174 | (1) |
|
Building Queries Based on Multiple Tables |
|
|
174 | (10) |
|
Pitfalls of Multitable Queries |
|
|
176 | (1) |
|
AutoLookup in Multitable Queries |
|
|
177 | (1) |
|
Modifying the Datasheet View of a Query |
|
|
178 | (3) |
|
|
181 | (3) |
|
Refining a Query by Using Criteria |
|
|
184 | (5) |
|
Working with Dates in Criteria |
|
|
185 | (4) |
|
12 Advanced Query Techniques |
|
|
189 | (20) |
|
Creating Calculated Fields |
|
|
190 | (1) |
|
Getting Help from the Expression Builder |
|
|
191 | (1) |
|
Creating and Running Parameter Queries |
|
|
192 | (2) |
|
Creating and Running Action Queries |
|
|
194 | (8) |
|
Creating and Running Update Queries |
|
|
195 | (2) |
|
Creating and Running Delete Queries |
|
|
197 | (1) |
|
Creating and Running Append Queries |
|
|
198 | (3) |
|
Creating and Running Make Table Queries |
|
|
201 | (1) |
|
Using Aggregate Functions to Summarize Numeric Data |
|
|
202 | (1) |
|
|
203 | (3) |
|
|
206 | (3) |
|
|
206 | (3) |
|
13 Building Powerful Forms |
|
|
209 | (28) |
|
|
210 | (9) |
|
|
210 | (1) |
|
Selecting, Moving, Aligning, and Sizing Form Objects |
|
|
211 | (8) |
|
Modifying Object Tab Order |
|
|
219 | (1) |
|
|
219 | (2) |
|
Conditionally Format Data |
|
|
220 | (1) |
|
Form Properties and Why Should You Use Them |
|
|
221 | (6) |
|
Working with the Properties Window |
|
|
221 | (1) |
|
Working with the Important Form Properties |
|
|
222 | (5) |
|
Control Properties and Why to Use Them |
|
|
227 | (10) |
|
The Format Properties of a Control |
|
|
227 | (3) |
|
The Data Properties of a Control |
|
|
230 | (3) |
|
The Other Properties of a Control |
|
|
233 | (4) |
|
14 Advanced Form Techniques |
|
|
237 | (14) |
|
|
238 | (3) |
|
|
241 | (1) |
|
The Command Button Wizard: Programming Without Typing |
|
|
241 | (3) |
|
Building Forms Based on More Than One Table |
|
|
244 | (7) |
|
Creating One-to-Many Forms |
|
|
244 | (3) |
|
|
247 | (4) |
|
15 Building Powerful Reports |
|
|
251 | (18) |
|
|
252 | (1) |
|
Control Properties and Why to Use Them |
|
|
253 | (7) |
|
The Format Properties of a Control |
|
|
253 | (5) |
|
The Data Properties of a Control |
|
|
258 | (1) |
|
The Other Properties of a Control |
|
|
258 | (2) |
|
Building Reports Based on More Than One Table |
|
|
260 | (9) |
|
Creating One-to-Many Reports |
|
|
260 | (6) |
|
|
266 | (3) |
|
16 Advanced Report Techniques |
|
|
269 | (12) |
|
Working with Sorting and Grouping |
|
|
270 | (4) |
|
Add Sorting and Grouping to a Report |
|
|
270 | (1) |
|
Sorting and Grouping Settings |
|
|
271 | (2) |
|
Group Header and Footer Properties and Why to Use Them |
|
|
273 | (1) |
|
Report Properties and Why to Use Them |
|
|
274 | (4) |
|
Working with the Properties Window |
|
|
275 | (1) |
|
The Format Properties of a Report |
|
|
275 | (1) |
|
The Report's Data Properties |
|
|
276 | (1) |
|
Other Properties of a Report |
|
|
277 | (1) |
|
Basing Reports on Stored Queries or Embedded SQL Statements |
|
|
278 | (3) |
|
17 Automating Your Database with Macros |
|
|
281 | (18) |
|
Learning the Basics of Creating and Running a Macro |
|
|
282 | (7) |
|
Working with Macro Actions |
|
|
282 | (2) |
|
Working with Action Arguments |
|
|
284 | (2) |
|
|
286 | (1) |
|
|
287 | (2) |
|
|
289 | (3) |
|
Running a Macro from the Macro Design Window |
|
|
290 | (1) |
|
Running a Macro from the Macros Group of the Navigation Pane |
|
|
290 | (1) |
|
Triggering a Macro from a Form or Report Event |
|
|
291 | (1) |
|
Modifying an Existing Macro |
|
|
292 | (2) |
|
Inserting New Macro Actions |
|
|
292 | (1) |
|
|
292 | (1) |
|
|
293 | (1) |
|
|
293 | (1) |
|
Creating an Embedded Macro |
|
|
294 | (5) |
|
18 Advanced Macro Techniques |
|
|
299 | (12) |
|
|
300 | (1) |
|
|
300 | (1) |
|
Creating a Drillthrough Macro |
|
|
301 | (3) |
|
Other New Features Available in Macros |
|
|
304 | (1) |
|
|
305 | (1) |
|
Determining When You Should Use Macros and When You Shouldn't |
|
|
306 | (1) |
|
Converting a Macro to VBA Code |
|
|
307 | (1) |
|
Creating an AutoExec Macro |
|
|
308 | (3) |
|
19 Sharing Data with Other Applications |
|
|
311 | (32) |
|
|
312 | (1) |
|
Importing, Linking, and Opening Files: When and Why |
|
|
312 | (2) |
|
Determining Whether to Import or Link |
|
|
313 | (1) |
|
Looking at Supported File Formats |
|
|
314 | (1) |
|
Exporting to Another Access Database |
|
|
314 | (2) |
|
Exporting to an Excel Spreadsheet |
|
|
316 | (2) |
|
Exporting to an Excel Spreadsheet Using the Context-Sensitive Menu |
|
|
316 | (1) |
|
Exporting to an Excel Spreadsheet Using Drag and Drop |
|
|
317 | (1) |
|
Exporting to an Excel Spreadsheet by Using the External Data Tab on the Ribbon |
|
|
318 | (1) |
|
|
318 | (3) |
|
Export Tables and Queries to the ASCII File Format |
|
|
318 | (3) |
|
Importing from Another Access Database |
|
|
321 | (2) |
|
|
322 | (1) |
|
Importing Spreadsheet Data |
|
|
323 | (3) |
|
|
326 | (3) |
|
Import ASCII Data into Access |
|
|
326 | (3) |
|
Linking to Tables in Another Access Database |
|
|
329 | (2) |
|
Linking to Another Type of Database |
|
|
331 | (7) |
|
Link to Excel Spreadsheets |
|
|
331 | (2) |
|
Linking to SQL Server Databases |
|
|
333 | (5) |
|
|
338 | (5) |
|
Move and Update Table Links |
|
|
338 | (5) |
|
20 Working with Web Databases |
|
|
343 | (20) |
|
Working with Web Databases |
|
|
344 | (1) |
|
Creating a Blank Web Database |
|
|
344 | (2) |
|
|
346 | (3) |
|
Creating and Working with Forms |
|
|
349 | (8) |
|
|
350 | (4) |
|
Customizing an Existing Form |
|
|
354 | (3) |
|
Using a Template to Create a Website |
|
|
357 | (1) |
|
Viewing Your Website in a Browser |
|
|
358 | (5) |
|
21 Putting It All Together |
|
|
363 | (20) |
|
Designing the Tables to Store Your Data |
|
|
364 | (5) |
|
Building the Forms to Edit Your Data |
|
|
369 | (6) |
|
Designing the Clients Form |
|
|
369 | (3) |
|
Designing the Projects Form |
|
|
372 | (2) |
|
Adding a Command Button That Links the Clients and Projects Forms |
|
|
374 | (1) |
|
Building the Queries to Extract the Data You Need |
|
|
375 | (2) |
|
Designing the Reports to Display Your Data |
|
|
377 | (6) |
|
Designing the tptClientListing Report |
|
|
377 | (3) |
|
Building the Macros Necessary to Automate Your Application |
|
|
380 | (3) |
Index |
|
383 | |