It's not a bad book. I read the entire book even though I was disappointed early on (see my gripe about the index later in the review). To be brutally honest there are some classics out there that are better, and I am using some of them. But they are getting dated and I wanted to learn some new things and particularly get a good feel for the new version of Access 2010.
The style of sample code and follow-along examples is different from book to book. I prefer verbose and well-illustrated examples. The examples in this book are not quite to my liking, but some of you may find you prefer it. I won't try to explain further because if you've read a number of books you already know how examples and sample code are handled quite differently. I should mention the style of examples in this book varys a bit from chapter to chapter.
This book is the product of several/many authors and contributors; different authors wrote different chapters. Some of the chapters deliver advanced concepts in a terse style. Some of you will have to reread things carefully before moving on. Again, some of you may prefer this. In my case, I'd rather have more illuminating explanations.
There no good "war stories" or anecdotes about crazy bugs or situations they've encountered and had to work through. By contrast, in the famous Access 2002 Developers Handbook (which you should all have or get right now) the authors are willing to share gripes about things like misspelled property names and weird wildcard conventions or the like.
If you're like me, these tales from the trenches and even a little humor really bring a book to life, and the closest this book gets is rah rah coverage of "new and exciting" features in Access 2010. This book could be brought to life by giving us some stories and some dirt.
I believe these guys have access to Microsoft sources they rely on. I believe this affects their coverage and they are reluctant to criticize and eager to cheerlead. But I want and need honest information about quirks and problems, and this book does not have it. An example is crashing the database and temporarily corrupting it if you write/edit too much VBA code in debug mode. If you Google "access crashes when opening vba" you will get the idea. It turns out you have to decompile the database (requires executing a command from the command prompt!). Until you learn this solution your database is hosed, which is horrifying if you just did some inspired and hard work since your last backup (you do have a backup I hope). And the experts recommend not editing VBA outside of design mode until this problem is addressed in a bug fix. Will you find anything about this in this book? No.
Another example is the quirky prompt to save design changes when you didn't make any. It happens when you open a form using the new navigation system (successor to switchboard) and then filter records. It also happens when you use the new "Allow Value List Edits" feature, and it probably happens in other situations. The author of the chapter on Forms mentions a fix in passing but expanded coverage of this would have been welcome. This quirk ruined my experience with the new Navigation Menu interface (the new replacement for the switchboard, not the navigator on the side which we all use extensively). I filter records a lot; if I opened a form from the new navigation interface and filtered, I get this incredibly annoying prompt asking if I want to save design changes. Not something you'd want your users to see, so I had to stop using that feature.
Something that some of you may need to be aware of: This book deals with relatively advanced topics like Class object programming, Windows API, and Windows registry, and it covers them before it deals with topics many of you may want to read about...like forms and reports. And the coverage of these is terse, meaning you have to pay attention and understand each sentence or paragraph before moving on or you will get lost. I didn't mind too much and I understand why they did it, but this coverage may cause some of you to lose interest. And I'd describe the coverage as advanced but shallow (too brief and limited). This was doubtless to limit the already formidable length, but it detracts nonetheless. I would have done away with some of the chapters and expanded others. The chapters are written by different people with different styles. The chapter (near the end) on SQL Server interfacing is really good.
My big gripe is that several times I have tried to look up something in the index and not found it.
Example? "Option Group" is not even in the index of this book! So I looked under "Controls" and not only did not find option group as a subheading there, but was shocked to find very little on controls either! This is supposed to be a programmer's REFERENCE book!
Another example? Filtering. There is almost nothing in the index. Probably because there is not much in the book about it. If you had no other sources, you'd think filtering is of minor importance. I can assure you, and so will others, that is far from the case. (And Microsoft has done a LOT of work improving and perfecting this functionality.)
One more example? Split form. They covered this nicely but did not have this in the index, not even as a sub heading under forms. I had to flip through lots of pages to find what I had remembered them covering.
My issues with the index is the main reason for giving the book three stars. It has happened to me several times. I should point out the index is long but on 3 or 4 occasions I could not find much if anything on a topic I was interested in. I just gave you 3 examples but it happened several more times. I bet this comment will annoy the hell out of whoever did the index, but I'm being honest. If they went to the trouble to make it 20 pages, they may as well add ten or twenty more pages next edition and get ALL the references to topics that exist in the book. Why? If you're like me, you often vaguely remember reading about something that you later realize may be useful and you want to find it without flipping endlessly. An exhaustively complete index is ESSENTIAL for bringing the book to life as a programmer's reference.
Actually though, I consider this book more of an advanced overview than a programmer's reference (I have to point out again that "Programmer's Reference" is the title of the book). I spent a couple weeks of my life reading it, learned some things, and now it will sit on the shelf. It will not be my go-to reference book. I hope the index will work when I try again, but it will not be my first source to try.
Like I said I read it all. But five stars like all these other reviews...sorry I can't do it.To end on a positive note, some of the side highlight notes are interesting and I have learned some new things from the book. One of the best things in the book comes at the VERY end, the very last appendix. Its called "Tips and Tricks." I almost missed it. Its buried behind endless awful coverage of DAO and object model stuff, etc. It would be a shame to miss this very good section.