Utilities for Microsoft Access
Third-Party Access Utilities
Microsoft Access is the junior member of the Microsoft database family. It’s an easy-to-use database system for desktops and workgroups with fairly simple database needs.
Junior status aside, Access is extremely powerful—much more powerful than the standalone microcomputer databases of 15 or 20 years ago. Many Microsoft developers use Access as a prototyping tool for developing applications that will run on SQL Server, Oracle, or other large database management system (DBMS) platforms. In addition, thousands of applications have been written specifically for use in Access.
A number of strengths make Access a good choice for developing database applications in its own right:
The report writer is very strong, probably the strongest part of Access.
Access can easily accept data from SQL Server or any other large DBMS that has ODBC connectivity—in other words, most of them. These features make Access a good choice as a front end for larger, more sophisticated database systems.
With its form-oriented GUI and multiple wizards, Access is designed to make developing a database as easy and painless as possible, even for non-programmers. By contrast, SQL Server is designed from the ground up as a full-bore DBMS, and its design stresses power over ease of use.
- Access is just about everywhere in the Windows world. As part of the Microsoft Office suite, Access is available on nearly every Windows desktop. Developers who need broad distribution for a database application often choose Access for exactly that reason.
Like Excel, and unlike other Office components such as Microsoft Word and Internet Explorer, Access is commonly used as the basis for utilities and applications. Word and IE are useful right out of the box, but Excel and Access typically need to have applications written for them in order to be useful. Access isn’t as widely popular as Excel as a basis for third-party applications, but many Access-based applications are available.
Like most of the Office applications, Access utilities are available in a wide range of price and professionalism. Many of them, ranging from thoroughly professional products to quick-and-dirty specialized hacks, are free. The ones that aren’t free are generally very reasonably priced, with most costing much less than $100.
One place to start looking for Access goodies is on the Microsoft web site, which offers a wealth of information from tips and templates to technical discussions of Access and its features.
The Limits of Access
Although Access is often thought of as SQL Server’s little brother, Access is not a subset of SQL Server. The products are both SQL-based relational databases, but they’re quite different. Access is built on the Jet engine, which was developed by Microsoft. SQL Server’s engine is based on the Sybase DBMS engine, which Microsoft licensed and then developed significantly in its own direction. Mastery of one DBMS doesn’t ensure success with the other. Access comes with utilities to upgrade an Access database to SQL Server, but you’ll be a lot better off if you start with the right product for your application.
Access lacks some features associated with large database management systems, such as database triggers and stored procedures. Workarounds are available that allow a programmer to simulate some of these features, such as stored procedures, but these workarounds are generally clumsy and inefficient. For example, you can use the Access View object with Visual Basic for Applications (VBA) to simulate a stored procedure, but only in a limited way.
Features aside, Access is limited in two main areas:
- Scalability. Access doesn’t handle very large databases easily. Generally speaking, the larger the database, the more carefully the Access application has to be designed.
- Networking. Although Access is a multiuser database with built-in record locking and other transactional features, it doesn’t work well over a network.
In general, if your application will have more than a few simultaneous users, you’re better off developing it in SQL Server than in Access. While individual Access databases are limited to 2GB maximum, the size of a really useful Access database may be much smaller. Database size limits are difficult to quantify because they depend strongly on both the complexity of the records and the complexity of the queries. As a first approximation, though, if you’re going to have more than 10,000 records or run elaborate queries against the database, consider SQL Server, Oracle, or some other large DBMS.
Like the rest of the Microsoft Office suite, Access uses VBA as a development language. Programmers can create add-in functions using VBA alone or in conjunction with languages such as C++ to create new functions that can be called and used like the built-in functions.