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