Let me add a few things about Access that might spice it up.
Access pros:
1. It is a Rapid Application Development environment. (RAD is a nice industry buzzword that turns on some programming managers) Using the Access "Wizards" it is possible to build something very fast, then go back and tweak it. In terms of the time it takes to get up and running, this is FAR superior to starting from scratch. Wizards exist for tables, queries, forms, and reports. (OK, Macros and Modules, you're on your own mostly.) But even for class modules, you get some help with event code because things like command buttons have wizards that build the code skeletons for you.
2. It has a fully integrated help system that (at least very often) is context sensitive. And the Help Files can be expanded if you buy the appropriate developer's kit.
3. Access fully integrates with other Office products through the Component Object Model methodology. This means that if you really wanted to get fancy, you could directly import data from Word documents or Excel spreadsheets. Or you could directly export to same. Using only well-defined (ok... REASONABLY well defined) interfaces. There is also a way to work with Web pages (AC2K and ASPs) and an interface for Power-Point.
4. Access is partially object-oriented. We don't get to define base objects that are equivalent in class to tables, queries, etc., but we get to use object-oriented methods on existing base objects. This means, among other things, that it is possible to write generic functions and subroutines that get called and only then find out who called them and from what context.
5. Access supports industry standard concepts very well. I.e. normalization, compound keys, foreign keys, relational integrity, multiple indexes, and many other good features. One-to-one and many-to-one relationships, JOINS, UNIONs, links to external tables or other data sources, importation of text whether through formatted or unformatted files. Lots of good big-system features.
6. If you have the appropriate ODBC drivers, Access can talk to most of the major big-system database.
7. If you have the appropriate networking infrastructure, Access can work over a network.
8. Good support sites are available on the web. Such as this one. And you can get product information from the MS Knowledge Base online, too!
Now, the CONS
1. Access is built with inherent system sizing limits. There are limits to the number of records, number of tables, number of defined system objects, etc. If you have too many forms, reports, tables, queries, macros, and modules, you are sunk.
2. Not only are there limits to the number of things, but sizing is also an issue. Access is built with table, recordset, and database sizing limits that are partially but not completely avoidable.
3. When operating over a network, if the database is in a file that is shared but the application runs on everyone's individual desktop (i.e. multiple copies of Access), network load can become an issue as the number of users increase. (This problem doesn't apply to cases where you have an external database served by an ODBC interface.) The issue is, which machine executes a query? In the simpler case, Access on the desktop does that, so you have massive data transfers to consider. With ODBC, the remote machine does the query and only passes back answers, so the load is mitigated a lot. But the implication is that you had to buy a separate server and product plus the ODBC connectivity pieces-parts to get it to work better.
4. Access security is somewhat limited. Specifically, its "primitives" are VERY primitive. It takes a lot of coding to do anything really fancy with security.
5. Access does not have an inherent journaling feature. You can try to "roll your own" but the tools you will use are relatively primitive for this purpose.
6. Unless you buy a more expensive kit that includes an Access run-time-only system, all users have to have separately licensed copies of Access. This becomes a problem for cranky systems because you will eventually need to hire a desktop maintenance specialist if you have too many users.
7. Graphing under Access is often a pain because you need to know the trick. (There is in fact a knowledge-base article on how to make graphs work right.) This and a thousand other little things can mount up to a very frustrating program that is highly capable but equally quirky. On the other hand, you could say that it assures job security - for psychiatrists... 'cause it's sure to drive you crazy!
8. (Now THIS is personal and you might not wish to include it.) It's a Gates product.
