I recently asked my wife to come with me to a requirements gathering meeting with a client. She knows so little about computers that I regularly have to remind her how to turn up the volume so she can listen to her CDs. Ironically enough, her ignorance of computers is what I would site as her chief qualification as a requirements analyst, and it’s exactly what makes her valuable to me at these meetings. Since she does not know anything about databases, she is not distracted with visions of tables and columns. Her novel approach is something I have difficulty doing: she actually listens to the client when they speak.
This may seem like a strange introduction to a book review, but my purpose will become clear in a minute. You see, when my editor asked me to review Hands-On Microsoft Access by Bob Schneider I cringed. It is a beginner’s book, and I have such a difficult time objectively evaluating this genre. However, when I began reading chapter 2, Database Design, I stumbled on the subheading Putting People First and realized that this book would cover more than data types and arithmetic operators. Yes, it IS a beginner’s book, but it attempts to instruct novice database developers in the process of delivering solutions, not simply creating tables.
The author, Bob Schneider, describes his purpose for the book as:
- Teaches you basic relational database theory.
- Builds on that knowledge to explain key Access objects and features.
- Describes difficult concepts in innovative ways so that readers learn and remember them.
The book is NOT designed to tell you everything you need to know about Microsoft Access. The Access Developer’s Handbook by Sybex is comprehensive (two volumes totaling nearly 2000 pages) but I cannot tell you how many times those tomes failed to address a specific coding problem I faced. No book can answer all questions. The best you can hope for is to get the right book to meet your current development needs. This book, Hands-On Microsoft Access, is a good book. The purpose of this review is to help you see if it is the right book for you.
Get Started on the Right Foot
The author defines “Getting Started” as the explanation of terms and description of data types, as evidenced by the title of chapter one. However, I think chapter two more accurately describes the process of getting started. I asked my wife, my requirements analyst, to review the second chapter and give me her feedback. She concluded that this material addresses the single greatest deficiency of database programmers (read ‘my husband’ for database programmers), namely our tendency to push on to development before properly listening to the client.
In chapter two, the author encourages such radical ideas as …
1. Put people first: spend time with users!
2. Prepare a mission statement
3. Develop mission objectives
4. Parlay these into a database solution
Like most database developers, I have learned the importance of all of these steps and I diligently apply myself to them, though I am still way too anxious to get on to step four to give steps one through three their due. If you are new to database design and development (and remember, this book is directed at new users) then you will want to pay special attention to this chapter and step through the example provided by the author.
Chapters three and four, Understanding and Establishing Relationships, are essential for those new to database design. The rest of the book shows how to create tables, queries, forms and reports, but if your data schema is poorly designed, then you might as well quit before you get started. Understanding the concepts put forward in this chapter will save you tons of future frustration.
Visualizing how your data relates to itself is part of the “getting started” process. There is nothing new in these chapters for seasoned database designers but since the target audience is those new to Access, then the following topics are indispensable:
- Primary and Foreign Keys
- One to Many and Many to Many Relationships
- Referential Integrity
Understanding Access Objects
No book about Microsoft Access would be complete without an explanation of its primary objects: Tables, Forms, Queries and Reports. Hands-On Microsoft Access describes all of these and mention is even made of Access Macros, though most Access developers have little use for macros. However, no mention is made of VBA code or Modules, which reaffirms the target audience of beginners.
One concept (dare I use the term paradigm) that those new to Access should understand is that of object properties. All objects in Access have properties and the better you understand them, the easier it is to develop applications. The book clearly and concisely explains the use of field properties for tables, control properties for forms and reports and, to a lesser degree, properties for queries.
The author devotes himself to the explanation of object properties, using relevant screen shots where appropriate. None of us can endure page upon page of dry techno-babble. Application images are always a welcome relief, but they need to do more than just break up the page. The screen shots selected by the author are pertinent, clear and effective.
Explaining Native Access Functions
My favorite part of this book, and the single reason I would encourage all my clients to get a copy, is the explanation of native Access functions. By this, I mean all the stuff that Access does, features we deliver to the client, which we do not have to program, like sorting, filtering and the like.
I cannot tell you how many times I have sat with users who have said, “I wish I could filter this form for all California records.” Believe it or not, I have had users literally hug me after showing them the Filter By Selection button. Over the years, I have tried to include explanations of these valuable features in my user manuals, but since no one ever really reads them, my ink is wasted. Bob Schneider does an excellent job of explaining these features, as well as many functions in both the run-time and design-time environments, and once again, his screen shots are valuable and effective.
Moving Data To and Fro
From reading the newsgroups it becomes apparent that even new users of Microsoft Access need to import and export data. Chapter 13 does an excellent job of walking users through the process, even helping them understand when it is better to link to data.
However, this book was published prior to the Microsoft Office Update which effectively disabled editing linked Excel spreadsheets, so step 14 of the exercises on page 434 no longer applies. If you have not noticed, all your code that updates linked Excel spreadsheets no longer works. You can find out more about this issue from the following links:
Is Hands-On Microsoft Access the book for you? If you are new to database design, then it is surely in the running. If you are looking for a book that is easy to follow and comprehensively explains object properties, then you will want to give it a look. If you want to understand native Access functions or want your clients to, then this is definitely the book you need.