About Microsoft Access

Microsoft Access is a Relational Database Management System. A Database Management System is a complete environment for creating computer programs that manage data of almost any kind and for almost any purpose.

The term "Relational" that is so often associated with databases refers to the mathematical foundations upon which MS Access is built. The significance of being a relational database is the reliability that derives from this mathematical foundation. Being a relational database helps to guarantee that when a data retrieval operation is performed, based on some criteria, all of the information retrieved satisfies the criteria and no information that doesn't meet the criteria is retrieved; that is, you are confident that the data you asked for is exactly what the database returns. Other non-relational database management systems can't make this claim with as much certainty.

Unique Advantages of MS Access

There are quite a few good reasons to use MS Access for your application. Some of these reasons many not apply to your current situation, but situations have a way of changing.

  • The report-writer in MS Access is one of the best available. There isn't much it can't do, and in general, I can create a report, from start to finish, in about two to four hours. Obviously, more complex reports take longer to write, but my experience is that most reports don't require very much effort.
  • A major function of a database management program is to insure that the data input into the database is valid and correct. This means that, for example, telephone numbers look like valid telephone numbers, both with and without the area code. There is not much that can be done to insure that the telephone number entered is actually a real telephone number, but at least I can insure that it could be. For Zip Codes, not only can I insure that it looks like a valid 5- or 9-digit Zip Code, but I can actually verify that the Zip Code exists and corresponds to the other address information. All of this, and more, can be done with plug-in modules that either I developed and own, or which can be purchased from third-party providers and a very reasonable cost.
  • Another aspect of insuring valid data is making sure that there is no data duplication. For example, you don't want to be able to enter the same employee into the database more than once. If this happens, then it is likely that you will loose some of that employees information. A properly executed database design will insure that this and other data problems don't happen. Properly used, MS Access itself can do much of this work of insuring the validity of your data without requiring any any code be written to do it.
  • As part of the MS Office Suite, MS Access integrates seamlessly with MS Word and Excel. While the report-writing capabilities of MS Access are superb, a report is not always what you want. It is very easy to set-up a MS Word Mail Merge document and have it retrieve its data directly from your MS Access database. You can even select the data that you want Mail Merged from a simple, user-friendly, MS Access data-entry form.
  • The development environment that MS Access provides supports rapid application development. This means that it will cost you less to have your application written in MS Access rather than in, say, Visual Basic or some other language. MS Access is a data management tool and everything about it is optimized for that purpose. Of course, not everything is a data management task, and in that case, other options should be explored. My experience is such that I can suggest other languages that would be more appropriate to your requirements and provide you a non-Access solution in that language when warranted.
  • MS Access can be used by non-programmers to get useful work done. The amount of training that would be required for your staff to use MS Access is rather small. If this is what you want to do, then, in addition to the database files that I provide, I will also provide a separate file, called a sandbox, that your staff can use to create their own queries, screens, and reports.

Common Misconceptions Dispelled

There are a few misconceptions about MS Access that I would like to dispel. In my experience, many people who lambaste MS Access are not very well-aquainted with the product or are biased against it. Although I appreciate MS Access and all of its strengths and significant features, I realize that there are instances where it may not be the best solution for a situation and I will not hesitate to say so. I try to remain objective in my recommendations, always keeping the best interests of my clients as a primary concern.

  • When MS Access is disparaged, the complaint often concerns the limitations of the Jet Engine that comes with MS Access. The Jet Engine is the part of MS Access that handles all of its data storage and retrieval functions. It is just one of several database storage engines that are available. It is no secret that the Jet Engine has some limitations; Microsoft implicitly admits this. However, it is easy to overcome those limitations by simply replacing the Jet Engine with a more robust storage engine. Microsoft would like you to choose their SQL Server product, but it is just as easy to use Oracle, DB2, or my favorite, MySQL.
  • For many situations, the Jet Engine is quite sufficient. If the application will only be used in a small office, say up to about 10 to 15 users at a time, the Jet Engine is probably a good choice. I have seen it support up to 60 users, but I would not recommend using the Jet Engine for so many users. In this situation, I would suggest using MySQL. MySQL competes well with the database engines from Microsoft, Oracle and IBM, so you are not giving up any efficiency, reliability, or stability. In addition, it is much easier to install, configure, and maintain. And although purchase price is usually not the sole determining factor, MySQL costs only a few hundred dollars rather than a few thousand.
  • MS Access can be very inexpensive because it is not necessary to purchase a licensed copy for each computer that needs to run the application. Microsoft offers a run-time license which allows the owner of the license to install the application on as many computers as desired, without any limit on the number of computers.
  • MS Access is not a toy nor is it inappropriate for large, mission-critical situations as many of its detractors claim. The number of simultaneous users is limited mostly by the speed and power of the computer where your data is stored, that is, the computer on which the storage engine runs, and the speed of your network. If the number of users is large, or the amount of data is huge, then it is easy to replace the Jet Engine with a more powerful, capable, and robust storage engine, such as MySQL. The report writing capabilities of MS Access are very good, and the ability to control and validate data entry means that it can be insured that the data entered is valid and correct.

Indeed, MS Access is a most likely a good choice for your information management application.