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 it 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.