on July 14, 2004
This book is breezy enough in tone and works well enough as a programmer's reference but the rah-rah Access! delivery grates after a while. The authors are old school in that they introduce an end of life data access model (DAO) at length and then make endless and confusing references to it while they document the current initiative, ADO. (They spend 64 pages on DAO--a legacy object model useful only for desktop databases and 46 pages on ADO, the preferred model, an evolving technology for use with everything from desktop to enterprise.) These topics should be treated in isolation from one another as a side-by-side comparison is just unnecessarily confusing, especially for users of Access 2000/XP/2003. It's almost like their only intent is to prove how long they've been Access developers instead of providing the most streamlined and useful documentation--in other words, it's more about them than it is you. They're also big on their own received wisdom as opposed to accuracy like encouraging readers to document their code as if they were writing a bible because there is no speed hit involved--this isn't necessarily true. They also have a bad habit of not declaring variables in their sample code (with annoyingly trendy scenarios like "how many lattes can I buy?"), which is a cause for concern in a book about programming. There is useful, if overenthusiastic, coverage of the new features in Access 2003. If you're comfortable with the series and need a lengthy reference to complement the Microsoft Access help files, you'll find useful information here...with large swaths of information (hundreds of pages at a time) that you'll probably never use.
on June 12, 2004
I am writing this review because I believe the expectations created by the book description and reviews were not met.
I do not disagree that the book is comprehensive as the description and the reviews point out. It discusses subjects that are wide-ranging and, I am certain, very important to many readers.
My contention is that the book is not organized in such a manner as to allow a less experienced user to get at what he wants. I think books like these need to better indicate for whom they are written. The foreward talks about it being for those who have been using Access for some time and are just beginning to jump into the world of code. I have had a reasonable amount of experience with Access, relational databases and electronic spreadsheets. I have a decent understanding of programming although only little expereince with object oriented programming.I feel that I understand Access sufficiently well that I have a base upon which to add the VBA skills. I really don't believe that the book is written for such a person.
My opinion of the shortcomings follow.
I believe the most important component of a reference source is the index. In this case the index is 24 pages with 100 entries on each. The frustration I faced in trying to answer my questions through the index, and table of contents was as bad or worse than trying to use Microsoft help screens or on-line resources.
I do not understand the organization of the book. It does not seem to follow a path from broad to narrow or any other progression that makes intuitive sense. I know this is acceptable in a reference but only, I would say, if there was a sufficient index.
The general execution of the book was also inferior. I was frequently distracted by grammar errors such as the wrong word (eg "than" instead of "that") and even typos. The figures and tables were numbered but not titled and in at least one case was misreferenced from the text. I found myself really in need of a diagram in many cases but there were none to be found. The car analogy used to explain Object Oriented Programming was not clear and I think possibley incorrect. The analogy describes "Press" as a method of the "Gas Pedal" object when it seems to me to be more like an event triggered by the user. I am not saying that I am necessarily right or the authors definitely wrong. I'm just saying that the analogy was ineffective. Again, I would have loved (and expected) a diagram or some representation that would explain this difficult concept.
I want to say that in the end I did find the elusive answer to my question although just by chance. I think this will illustrate my frustration with this book. I wanted to know how to automate the import of a TXT file. I had searched on-line help and 2 other Access books as well as this book but could not find the answer. I finally was skimming through the methods of the DoCmd Object in Appendix E (The Access Object Model) and happened on the DoMenuItem method (page 750.) The description of this method explained that it executes the specified menu item but that it was a legacy from Access 97 that had been replaced by the RunCommand method in later version of Access. I then flipped forward in the same appendix to the RunCommand Method Arguments section (page 793) which started with this comment: "One of the easiest ways to perform a variety of functions in Microsoft Access is through use of the RunCommand Method." I thought that if it was so easy, then why doesn't somebody include it in their discussion of VBA. (I don't know if this book does so because the only reference to the RunCommand in the index is to the Appendix pages noted above. There are no references to the DoCmd or menus in the index.)
When I found this discussion, I knew that I had answered my question but I still had more errors to deal with. The section was entitled RunCommand Method Arguments but the verbage that preceded the table stated "The RunCommnad takes a single argument, the acCommand constant. All of the available acCommand constants are listed in the following table." The column in the table that follows is entitled "Argument." I know that constants can be arguments but don't these constants relate to the acCommand which is the only argument of the RunCommand? I know this is picky (and I feel more than a little self-conscious for exposing my ignorance) but doesn't a book about language need to be precise and consistent in their use of terms?
I would also ask what the value is of this (the RunCommand Methods Arguments) table. It simply lists the constants (Arguments [?]) This information is available and more easily accessible in on-line help. The inclusion of this table (and possibley others) may make the reference more complete but does not necessarily make it more valuable. At the risk of beating a dead horse, I feel this table illustrates another shortcoming of this text in that it isn't even organized very well. The 9 page table has two columns that list the constants alphabetically. The first column starts on page 793 with acCmdAboutMicrosoft and finishes on page 802 with AcCmdPivotChartDrillInto. The list continues in column 2 back on page 793. I know this is confusing but so is the book.
I have no doubt that the authors of this book are extremely knowledgeable (and even really good and helpful people.) I would love to know what they know. That is why I bought this book. I can't imagine the difficulty in trying to organize and explain such a large and complex model but that is what they have attempted to do. I would love to see this book reworked and represented in a better way because I think think it contains a lot of good information. I just don't think enough consideration was given the user or enough care was taken in the execution.
on May 19, 2004
I have to agree with reviewer Paul E. that the authors did an outstanding job on this book.
The book is comprehensive, covering just about everything you need to know when you're working with Access application development.
For me, the 250 pages or so of appendixes have been the most useful, but there's also a sixty-page chapter on database security in the middle of the book that should be required reading for all Access developers.
Here's the table of contents from my copy of the book:
1. Intro to Access.
2. Access, VBA, and Macros.
3. New Features in 2003 (and 2002).
4. VBA Basics.
5. Using the VBA Editor.
6. Using DAO to Access Data.
7. Using ADO to Access Data.
8. Executing VBA.
9. VBA Error Handling.
10. Using VBA to Enhance Forms.
11. Enhancing Reports with VBA.
12. Creating Classes.
14. SQL & VBA.
15. Working with Office Applications.
17. Understanding Client-Server Development with VBA.
18. Windows Registry.
19. Using the ADE Tools.
20. Macro Security.
Appendix A: Upgrading to Access 2003.
Appendix B: References for Projects.
Appendix C: DAO Object Method and Property Descriptions.
Appendix D: ADO Object Model Reference.
Appendix E: Access Object Model.
Appendix F: Windows API Reference Information .
Appendix G: Naming Conventions.
Appendix H: VBA Reserved Words.
Appendix I: Tips and Tricks.
Appendix J: ADO Object Argument Information.
Appendix K: Access Wizards, Builders and Managers.
Appendix L: Windows Registry Information.
on April 13, 2004
This is a very special book. The authors obviously went way out of their way to include everything that you could need to be a successful Access developer. As far as I know, this extensive reference material has never before been assembled in one place. As a result, it is just the right thing for aspiring intermediate and advanced users of Microsoft Access. Even many developers with extensive experience will be surprised at what can finally become clear to them by checking out what this reference makes available. You'd have to search the Microsoft and other sites for weeks to assemble all this on your own.
This well-written reference covers everything from VBA basics to using the new Access Developer Extensions, which are part of Visual Studio Tools for the Microsoft Office System. In between it also covers error handling, enhancing forms, enhancing reports, SQL coding, and even working with the Windows Registry. The appendices go all the way from A to L, or from Upgrading of Access (what other book covers this subject at all, never mind so thoroughly?) to VBA Reserved Words.
I have never seen such comprehensive reference material! And is it loaded with tips, tips, tips! The authors have obviously lived in the trenches with Access for some time. They know what to watch out for. They know what kind of protocols you should set up yourself to boost your success.
It took the experience of four co-authors and several other contributors to bring this work together. Patricia, Teresa, Graham and Armen have provided a unique Access reference that will get you up and going fast and save you scads of time that you would otherwise have wasted learning "the hard way" or, at best, wasted digging through a multitude of written and online references. This is a special, one-of-a kind reference work!