| |
| |
Preface | |
| |
| |
| |
Database Design | |
| |
| |
| |
Introduction | |
| |
| |
Database Design | |
| |
| |
Database Programming | |
| |
| |
| |
The Entity-Relationship Model of a Database | |
| |
| |
What Is a Database? | |
| |
| |
Entities and Their Attributes | |
| |
| |
Keys and Superkeys | |
| |
| |
Relationships Between Entities | |
| |
| |
| |
Implementing Entity-Relationship Models: Relational Databases | |
| |
| |
Implementing Entities | |
| |
| |
A Short Glossary | |
| |
| |
Implementing the Relationships in a Relational Database | |
| |
| |
The LIBRARY Relational Database | |
| |
| |
Index Files | |
| |
| |
NULL Values | |
| |
| |
| |
Database Design Principles | |
| |
| |
Redundancy | |
| |
| |
Normal Forms | |
| |
| |
First Normal Form | |
| |
| |
Functional Dependencies | |
| |
| |
Second Normal Form | |
| |
| |
Third Normal Form | |
| |
| |
Boyce-Codd Normal Form | |
| |
| |
Normalization | |
| |
| |
| |
Database Queries | |
| |
| |
| |
Query Languages and the Relational Algebra | |
| |
| |
Query Languages | |
| |
| |
Relational Algebra and Relational Calculus | |
| |
| |
Details of the Relational Algebra | |
| |
| |
| |
Access Structured Query Language (SQL) | |
| |
| |
Introduction to Access SQL | |
| |
| |
Access Query Design | |
| |
| |
Access Query Types | |
| |
| |
Why Use SQL? | |
| |
| |
Access SQL | |
| |
| |
The DDL Component of Access SQL | |
| |
| |
The DML Component of Access SQL | |
| |
| |
| |
Database Architecture | |
| |
| |
| |
Database System Architecture | |
| |
| |
Why Program? | |
| |
| |
Database Systems | |
| |
| |
Database Management Systems | |
| |
| |
The Jet DBMS | |
| |
| |
Data Definition Languages | |
| |
| |
Data Manipulation Languages | |
| |
| |
Host Languages | |
| |
| |
The Client/Server Architecture | |
| |
| |
| |
Visual Basic for Applications | |
| |
| |
| |
The Visual Basic Editor | |
| |
| |
The Project Window | |
| |
| |
The Properties Window | |
| |
| |
The Code Window | |
| |
| |
The Immediate Window | |
| |
| |
Arranging Windows | |
| |
| |
| |
The Visual Basic Editor, Part II | |
| |
| |
Navigating the IDE | |
| |
| |
Getting Help | |
| |
| |
Creating a Procedure | |
| |
| |
Run Mode, Break Mode, and Design Mode | |
| |
| |
Errors | |
| |
| |
Debugging | |
| |
| |
| |
Variables, Data Types, and Constants | |
| |
| |
Comments | |
| |
| |
Line Continuation | |
| |
| |
Constants | |
| |
| |
Variables and Data Types | |
| |
| |
VBA Operators | |
| |
| |
| |
Functions and Subroutines | |
| |
| |
Calling Functions | |
| |
| |
Calling Subroutines | |
| |
| |
Parameters and Arguments | |
| |
| |
Exiting a Procedure | |
| |
| |
Public and Private Procedures | |
| |
| |
Fully Qualified Procedure Names | |
| |
| |
| |
Built-in Functions and Statements | |
| |
| |
The MsgBox Function | |
| |
| |
The InputBox Function | |
| |
| |
VBA String Functions | |
| |
| |
Miscellaneous Functions and Statements | |
| |
| |
Handling Errors in Code | |
| |
| |
| |
Control Statements | |
| |
| |
The If...Then Statement | |
| |
| |
The For Loop | |
| |
| |
The Exit For Statement | |
| |
| |
The For Each Loop | |
| |
| |
The Do Loop | |
| |
| |
The Select Case Statement | |
| |
| |
A Final Note on VBA | |
| |
| |
| |
Data Access Objects | |
| |
| |
| |
Programming DAO: Overview | |
| |
| |
Objects | |
| |
| |
The DAO Object Model | |
| |
| |
The Microsoft Access Object Model | |
| |
| |
Referencing Objects | |
| |
| |
Collections Are Objects Too | |
| |
| |
The Properties Collection | |
| |
| |
Closing DAO Objects | |
| |
| |
A Look at the DAO Objects | |
| |
| |
The CurrentDb Function | |
| |
| |
| |
Programming DAO: Data Definition Language | |
| |
| |
Creating a Database | |
| |
| |
Opening a Database | |
| |
| |
Creating a Table and Its Fields | |
| |
| |
Creating an Index | |
| |
| |
Creating a Relation | |
| |
| |
Creating a QueryDef | |
| |
| |
| |
Programming DAO: Data Manipulation Language | |
| |
| |
Recordset Objects | |
| |
| |
Opening a Recordset | |
| |
| |
Moving Through a Recordset | |
| |
| |
Finding Records in a Recordset | |
| |
| |
Editing Data Using a Recordset | |
| |
| |
| |
ActiveX Data Objects | |
| |
| |
| |
ADO and OLE DB | |
| |
| |
What Is ADO? | |
| |
| |
Installing ADO | |
| |
| |
ADO and OLE DB | |
| |
| |
The ADO Object Model | |
| |
| |
Finding OLE DB Providers | |
| |
| |
A Closer Look at Connection Strings | |
| |
| |
An Example: Using ADO over the Web | |
| |
| |
| |
ADOX: Jet Data Definition in ADO | |
| |
| |
The ADOX Object Model | |
| |
| |
| |
Programming Problems | |
| |
| |
| |
Some Common Data Manipulation Problems | |
| |
| |
Running Sums | |
| |
| |
Overlapping Intervals I | |
| |
| |
Overlapping Intervals II | |
| |
| |
Making Assignments with Default | |
| |
| |
Time to Completion I | |
| |
| |
Time to Completion II | |
| |
| |
Time to Completion III--A MaxMin Problem | |
| |
| |
Vertical to Horizontal | |
| |
| |
A Matching Problem | |
| |
| |
Equality of Sets | |
| |
| |
| |
Appendixes | |
| |
| |
| |
DAO 3.0/3.5 Collections, Properties, and Methods | |
| |
| |
| |
The Quotient: An Additional Operation of the Relational Algebra | |
| |
| |
| |
Open Database Connectivity (ODBC) | |
| |
| |
| |
Obtaining or Creating the Sample Database | |
| |
| |
| |
Suggestions for Further Reading | |
| |
| |
Index | |