This volume aims to take the reader behind the details of the Access interface, focusing on the general knowledge necessary for Access power users or developers to create effective database applications. When using software products with graphical interfaces, we frequently focus so much on the interface that we forget about the general concepts that allow us to understand and use the software effectively. In particular, this book focuses on three areas: database design - the book provides an overview of database design that carefully shows you how to normalize tables to eliminate redundancy without losing data; queries - the book examines multi-table queries (i.e.,various types of joins) and shows how to implement them indirectly by using the Access interface or directly by using Access SQL; and programming - the book examines the VBA integrated development environment (IDE); it then offers an introduction to Data Access Objects (DAO), ActiveX Data Objects (ADO), and ADO Extensions for Data Definition and Security (ADOX).
These sections serve as a handy introduction and primer for basic database operations,such as modifying a table under program control, dynamically adding and deleting a record, and repositioning a record pointer. The concluding chapter focuses on common programming problems, such as computing running sums and comparing two sets.
Steven Roman is a professor emeritus of mathematics at the California State University, Fullerton. His previous books with O'Reilly include Access Database Design and Programming, Writing Excel Macros, and Win32 API Programming with Visual Basic.
Preface Part I. Database Design 1. Introduction Database Design Database Programming 2. The Entity-Relationship Model of a Database What Is a Database? Entities and Their Attributes Keys and Superkeys Relationships Between Entities 3. 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 4. Database Design Principles Redundancy Normal Forms First Normal Form Functional Dependencies Second Normal Form Third Normal Form Boyce-Codd Normal Form Normalization Part II. Database Queries 5. Query Languages and the Relational Algebra Query Languages Relational Algebra and Relational Calculus Details of the Relational Algebra 6. 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 Part III. Database Architecture 7. 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 Part IV. Visual Basic for Applications 8. The Visual Basic Editor, Part I The Project Window The Properties Window The Code Window The Immediate Window Arranging Windows 9. The Visual Basic Editor, Part II Navigating the IDE Getting Help Creating a Procedure Run Mode, Break Mode, and Design Mode Errors Debugging 10. Variables, Data Types, and Constants Comments Line Continuation Constants Variables and Data Types VBA Operators 11. Functions and Subroutines Calling Functions Calling Subroutines Parameters and Arguments Exiting a Procedure Public and Private Procedures Fully Qualified Procedure Names 12. Built-in Functions and Statements The MsgBox Function The InputBox Function VBA String Functions Miscellaneous Functions and Statements Handling Errors in Code 13. 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 Part V. Data Access Objects 14. 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 15. 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 16. Programming DAO: Data Manipulation Language Recordset Objects Opening a Recordset Moving Through a Recordset Finding Records in a Recordset Editing Data Using a Recordset Part VI. ActiveX Data Objects 17. 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 18. ADOX: Jet Data Definition in ADO The ADOX Object Model Part VII. Programming Problems 19. 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 Part VIII. Appendixes A. DAO 3.0/3.5 Collections, Properties, and Methods B. The Quotient: An Additional Operation of the Relational Algebra C. Open Database Connectivity (ODBC) D. Obtaining or Creating the Sample Database E. Suggestions for Further Reading Index