Access Database Design and Programming

( 1 )


Access Database Design & Programming takes you 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 ...
See more details below
Paperback (Third Edition)
$30.81 price
(Save 22%)$39.99 List Price
Other sellers (Paperback)
  • All (47) from $1.99   
  • New (9) from $14.00   
  • Used (38) from $1.99   
Access Database Design & Programming

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$17.99 price
(Save 43%)$31.99 List Price


Access Database Design & Programming takes you 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 enjoyable, informative 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.
  • Programming. The book examines the VBA integrated development environment (IDE). It then goes on to provide an excellent 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.
Unlike other Access books that take the long, detailed approach to every topic of concern to Access programmers, Access Database Design &Programming instead focuses on the core concepts, enabling programmers to develop solid, effective database applications. This book also serves as a 'second course' in Access that provides a relatively experienced Access user who is new to programming with the frequently overlooked techniques necessary to develop successfully in the Microsoft Access environment.Anyone interested in learning Access in depth, rather than just scraping the surface, will enjoy and benefit immensely from reading this book.
Read More Show Less

Editorial Reviews


Making Access More Accessible

From an industry observer's point of view, Microsoft Access-97 is a potent symbol of many of the things that have made Microsoft despised, feared, and enormously successful: determination, persistence, nearly unlimited resources, disregard for backward compatibility, contempt for open standards, fragmented design, lack of quality assurance and software engineering, and, of course, the ability to leverage its software suites, massive bankroll, and control of the operating system platform to outmarket, outmaneuver, outlast or simply gobble up the competition. But from a purchaser's point of view, Access is mostly a symbol of Microsoft's unilateral decision to ship its gigantic powerful complex software products with virtually no printed documentation at all.

Consequently, the would-be Access developer's first act is typically to run down to the nearest technical bookstore and try to find something that explains how the darn thing works. Unfortunately, the third-party market for Microsoft Access books is split between simple beginner-oriented books that teach users how to design forms and reports using the built-in wizards and controls, and recycled Visual Basic books that describe Access as a sort of Visual Basic clone with some grafted-on database function calls. There has been, until now, a conspicuous absence of books that approach Access from a database analyst and developer's point of view -- books that explain how Access implements relational database concepts, its data definition language, its object model (such as it is), and its degree of compliance with ANSI standard SQL.

Steven Roman's Access Database Design and Programming goes a good part of the distance toward filling this void. It starts with a discussion of entity-object relationships, keys and superkeys, and normal forms, then goes on to introduce relational algebra, query languages, and SQL. A brief diversion into Visual Basic for Applications and its relationship to the Jet Database Engine is followed by a fairly extensive explanation of Access's family of objects, collections, and properties -- always one of Access's most confusing and least stable characteristics. The book closes with two chapters on programmatic data definition and data manipulation in Access, topics which often receive short shrift in the recycled Visual Basic books I alluded to earlier.

This is not a very long book, and the code examples are fairly trivial, but it will save you a lot of time and frustration if you are just getting started with Access database development.--Dr. Dobb's Electronic Review of Computer Books

Read More Show Less

Product Details

  • ISBN-13: 9780596002732
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 1/28/2002
  • Series: Nutshell Handbooks Series
  • Edition description: Third Edition
  • Edition number: 3
  • Pages: 450
  • Product dimensions: 7.00 (w) x 10.52 (h) x 1.09 (d)

Meet the Author

Steven Roman, Ph.D., 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 with VBA", and "Win32 API Programming with Visual Basic".

Read More Show Less

Table of Contents

Preface to the Third Edition;
Preface to the Second Edition;
The Book's Audience;
The Sample Code;
Organization of This Book;
Conventions in This Book;
Obtaining Updated Information;
Using Code Examples;
Request for Comments;
Part I: Database Design;
Chapter 1: Introduction;
1.1 Database Design;
1.2 Database Programming;
Chapter 2: The Entity-Relationship Model of a Database;
2.1 What Is a Database?;
2.2 Entities and Their Attributes;
2.3 Keys and Superkeys;
2.4 Relationships Between Entities;
Chapter 3: Implementing Entity-Relationship Models: Relational Databases;
3.1 Implementing Entities;
3.2 A Short Glossary;
3.3 Implementing the Relationships in a Relational Database;
3.4 The LIBRARY Relational Database;
3.5 Index Files;
3.6 NULL Values;
Chapter 4: Database Design Principles;
4.1 Redundancy;
4.2 Normal Forms;
4.3 First Normal Form;
4.4 Functional Dependencies;
4.5 Second Normal Form;
4.6 Third Normal Form;
4.7 Boyce-Codd Normal Form;
4.8 Normalization;
Part II: Database Queries;
Chapter 5: Query Languages and the Relational Algebra;
5.1 Query Languages;
5.2 Relational Algebra and Relational Calculus;
5.3 Details of the Relational Algebra;
Chapter 6: Access Structured Query Language (SQL);
6.1 Introduction to Access SQL;
6.2 Access Query Design;
6.3 Access Query Types;
6.4 Why Use SQL?;
6.5 Access SQL;
6.6 The DDL Component of Access SQL;
6.7 The DML Component of Access SQL;
Part III: Database Architecture;
Chapter 7: Database System Architecture;
7.1 Why Program?;
7.2 Database Systems;
7.3 Database Management Systems;
7.4 The Jet DBMS;
7.5 Data Definition Languages;
7.6 Data Manipulation Languages;
7.7 Host Languages;
7.8 The Client/Server Architecture;
Part IV: Visual Basic for Applications;
Chapter 8: The Visual Basic Editor, Part I;
8.1 The Project Window;
8.2 The Properties Window;
8.3 The Code Window;
8.4 The Immediate Window;
8.5 Arranging Windows;
Chapter 9: The Visual Basic Editor, Part II;
9.1 Navigating the IDE;
9.2 Getting Help;
9.3 Creating a Procedure;
9.4 Run Mode, Break Mode, and Design Mode;
9.5 Errors;
9.6 Debugging;
Chapter 10: Variables, Data Types, and Constants;
10.2 Line Continuation;
10.3 Constants;
10.4 Variables and Data Types;
10.5 VBA Operators;
Chapter 11: Functions and Subroutines;
11.1 Calling Functions;
11.2 Calling Subroutines;
11.3 Parameters and Arguments;
11.4 Exiting a Procedure;
11.5 Public and Private Procedures;
11.6 Fully Qualified Procedure Names;
Chapter 12: Built-in Functions and Statements;
12.1 The MsgBox Function;
12.2 The InputBox Function;
12.3 VBA String Functions;
12.4 Miscellaneous Functions and Statements;
12.5 Handling Errors in Code;
Chapter 13: Control Statements;
13.1 The If ...Then Statement;
13.2 The For Loop;
13.3 The Exit For Statement;
13.4 The For Each Loop;
13.5 The Do Loop;
13.6 The Select Case Statement;
13.7 A Final Note on VBA;
Part V: Data Access Objects;
Chapter 14: Programming DAO: Overview;
14.1 Objects;
14.2 The DAO Object Model;
14.3 The Microsoft Access Object Model;
14.4 Referencing Objects;
14.5 Collections Are Objects Too;
14.6 The Properties Collection;
14.7 Closing DAO Objects;
14.8 A Look at the DAO Objects;
14.9 The CurrentDb Function;
Chapter 15: Programming DAO: Data Definition Language;
15.1 Creating a Database;
15.2 Opening a Database;
15.3 Creating a Table and Its Fields;
15.4 Creating an Index;
15.5 Creating a Relation;
15.6 Creating a QueryDef;
Chapter 16: Programming DAO: Data Manipulation Language;
16.1 Recordset Objects;
16.2 Opening a Recordset;
16.3 Moving Through a Recordset;
16.4 Finding Records in a Recordset;
16.5 Editing Data Using a Recordset;
Part VI: ActiveX Data Objects;
Chapter 17: ADO and OLE DB;
17.1 What Is ADO?;
17.2 Installing ADO;
17.3 ADO and OLE DB;
17.4 The ADO Object Model;
17.5 Finding OLE DB Providers;
17.6 A Closer Look at Connection Strings;
17.7 An Example: Using ADO over the Web;
Chapter 18: ADOX: Jet Data Definition in ADO;
18.1 The ADOX Object Model;
Part VII: Programming Problems;
Chapter 19: Some Common Data Manipulation Problems;
19.1 Running Sums;
19.2 Overlapping Intervals I;
19.3 Overlapping Intervals II;
19.4 Making Assignments with Default;
19.5 Time to Completion I;
19.6 Time to Completion II;
19.7 Time to Completion III—A MaxMin Problem;
19.8 Vertical to Horizontal;
19.9 A Matching Problem;
19.10 Equality of Sets;
Part VIII: Appendixes;
Appendix A: DAO 3.0/3.5 Collections, Properties, and Methods;
A.1 DAO Classes;
A.2 A Collection Object;
A.3 Connection Object (DAO 3.5 Only);
A.4 Container Object;
A.5 Database Object;
A.6 DBEngine Object;
A.7 Document Object;
A.8 Error Object;
A.9 Field Object;
A.10 Group Object;
A.11 Index Object;
A.12 Parameter Object;
A.13 Property Object;
A.14 QueryDef Object;
A.15 Recordset Object;
A.16 Relation Object;
A.17 TableDef Object;
A.18 User Object;
A.19 Workspace Object;
Appendix B: The Quotient: An Additional Operation of the Relational Algebra;
B.1 Step 1;
B.2 Step 2;
B.3 Step 3;
Appendix C: Open Database Connectivity (ODBC);
C.1 Introduction;
C.2 The ODBC Driver Manager;
C.3 The ODBC Driver;
C.4 Data Sources;
C.5 Getting ODBC Driver Help;
C.6 Getting ODBC Information Using Visual Basic;
Appendix D: Obtaining or Creating the Sample Database;
D.1 Creating the Database;
D.2 Creating the BOOKS Table;
D.3 Creating the AUTHORS Table;
D.4 Creating the PUBLISHERS Table;
D.5 Creating the BOOK/AUTHOR Table;
D.6 Backing Up the Database;
D.7 Entering and Running the Sample Programs;
Appendix E: Suggestions for Further Reading;

Read More Show Less

Customer Reviews

Average Rating 1
( 1 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted February 6, 2004

    Good Introduction to Database Design But Poor On Programming

    This author does a good job explaining the relational database model and how to design good relational databases. However, I purchased this book because I wanted to learn how to program in Access to create more complex database applications. The author fails in this regard. The author crams a lot of vocabulary and examples at the reader without adequate explanation on any topic. It is not uncommon to see pages of diagrams and source code with only a paragraph or two devoted to explaining how they work. Unless you already have an understanding of Visual Basic, ADO, and DAO, this book will be of no help to you. It would be much better for someone interested in this topic to buy two books, one about Visual Basic, and the other about ADO and/or DAO.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)