Microsoft Access is fun,
but it’s also powerful and more importantly, it has a place in the development
community and in the real world of production applications. What follows are
the top 10 reasons why Danny Lesandrini believes this is still true.
When this 20-something programmer-kid who reports to me
happened to notice the title of this article on my screen he said something
like, “You aren’t really going to write that article, are you?” His
attitude is exactly why I am writing this article. Don’t
get me wrong. This kid is a programming genius who can do anything and I’d be lost without him but his comment encapsulates the
perspective of most “real” programmers who believe that Microsoft Access is
just a toy.
Well, I’ve been “playing” with
access for over 15 years, since version 2.0, so I guess I won’t argue with
calling it a “toy.” It’s fun, but it’s also
powerful and more importantly, it has a place in the development community and
in the real world of production applications. What follows are the top 10
reasons why I believe this is still true.
The price is right
Access is freely available … to everyone who has Microsoft Office
Professional. This philosophy is what got my career as an Access
developer launched. The father of a good friend was on the SQL Server
team at Microsoft back in 1994 and he told his son to learn Microsoft
Access. His reasoning was that Access is bundled with Office and since Office was selling like hotcakes, it would only be a matter
of time before Access programmers would be in great demand. It
proved true in the 90’s and the reasoning hasn’t lost
any validity for the 2010’s.
Landing pad for data
A number of years ago a Microsoft representative gave a presentation at the
Denver Area Access User’s Group where he used the expression
“landing pad for data.” While I felt that this characterization
promotes a “dumbing down” of Access, it is none the less
I regularly copy and paste data from Excel and Notepad directly into Access
tables. One can suck email messages out of Outlook or Exchange into a
table where it’s easier to analyze. While I have
10 years experience with SQL Server, I only recently learned how to use SQL
Server Integration Services (formerly DTS) because Access is
easy-peasy-lemon-squeezy when it comes to importing and exporting data from
relational databases like SQL Server and Oracle, not to mention DB2 and
virtually all others.
If for no other reason, developers should keep their shortcut to Access
handy. Handling, scrubbing and migrating data is easier with Microsoft
Access than with any other interface available to Microsoft programmers.
Plethora of books and training materials
When I first started learning Microsoft Access, I checked out every book
from the library and read them from cover-to-cover. There were dozens of
them, and I read them all. Before long, my confidence grew and I started
out on my own as a programmer-consultant. While I had done some punch-card FORTRAN programming in college, this self-paced
learning was sufficient to launch my career. Virtually nothing about this
has changed today, except that there are even more books in the library, not to
mention online resources, to assist anyone who wants to “break into” the Access
Vast online community ready to offer free help
After reading a number of books, I started lurking around the Microsoft Access
newsgroups; visitors post questions and get answers. At first, I simply
read the threads but before long, I was answering questions myself.
Mostly, I just marveled at the quantity and quality of assistance that was
available for free. And
more often than not, questions are answered within minutes of being posted,
answers from the most accomplished Access developers in the world.
While this can also be said of other languages, I never felt the camaraderie or
the community in SQL Server or .Net newsgroups that was ubiquitous in the
Access ones. There are great people who frequent those groups, some of
whom I count as friends even though we’ve never met in
person. Definitely one of the top 10 things that make
being an Access developer great.
This might be outdated, but I’m going to include
it anyhow. Decades ago when I developed in PowerBuilder, Visual Basic 6
and Access, the ability to drag and drop a form onto another form to create a
synchronized pair was huge. Sure, there were very accomplished VB
developers who could build parent-child forms in their sleep, but it was never
as simple as it was in Access.
This feature has only been improved in Access 2007 where creating
synchronized parent-child forms is even easier. Perhaps it’s also simple in .Net applications, which means that
Access no longer has an advantage, but the fact remains that this feature is
one reason why Access still Rocks!
At the event where SQL Server Reporting Services
was first released in
speaker made the comment, “Finally Visual Studio has a report designer that is
almost as good as what we’ve had in Access for a decade.” The report
wizards are great, but there’s so much more. So
much can be accomplished with respect to grouping and paging by doing nothing
more than toggling report properties. What can’t
be accomplished with a click of the mouse can be done with VBA, which runs
behind every report in Access. The potential is unlimited and there is
virtually nothing I’ve ever needed to do that could
not be accomplished.
For years I’ve been meaning to learn and use SSRS but it’s just never been
convenient, so I can’t make a perfect comparison but from what I had read,
Access reports used to be able to be upsized to SSRS. If this is still
true, it only serves to enhance the value of building reports in Access.
Real Access developers don’t use macros … we write
VBA code. It’s not that difficult and there are
virtually unlimited online resources out there to help you accomplish any task
you may need to code. In addition to the native functionality that comes
with VBA out of the box, one can attach all kinds of libraries that add
features like file manipulation, email, zip and Windows API calls. Just like I said above in the section on reports, virtually
anything can be accomplished (and probably has) with VBA in Microsoft Access.
Integration with “real” databases
One of the first applications I inherited was a
time tracking tool used by Anderson Consulting at one of its business client
accounts. The front end was an Access 97 mdb file, which linked to an
Oracle database. On Friday at
125 employees would scramble to update their digital “time sheets” and the
system didn’t blink. Maybe it was the fact that
the data was in Oracle or maybe it was because the Access used Pass Through
queries to execute stored procedures and server side views, but the reason doesn’t matter. Microsoft Access can play with the big
New features in 2010
Table macros and publish to Web. ‘Nuff said.
10) The Play-Doh factor
Yes, the top reason why Access rocks as a development platform is because
of what I call the “Play-Doh” factor. Access applications are easy to
mold and shape into whatever you or your client needs. In
this context, easy means inexpensive.
I once spent a morning with a C++ developer who didn’t
seem impressed with my career choice. He said he was on a team building
an application that had been in the works for over a year. They had $1.5
million into it when the company was merged with another. They all lost
their jobs, the unfinished application was shelved and it never saw the
production light of day.
That has never happened with any Access application I’ve
ever built. They come together quickly and are easily delivered on time
and at budget. If requirements change or were misunderstood, it is
usually a trivial matter to reshape the application into what it needs to
In one case, I was asked to enhance a VB .Net that another developer had built
over the course of the previous year. Rather than modify his code, I
simply rebuilt it as an Access Data Project. In 3 days, I had fixed all
of the SQL Server database issues and replicated all the front-end functionality.
Three more days I had implemented the new features that the client had been
told would take six months. Clearly, the developer I replaced was not the
sharpest tool in the shed, but the fact remains: in 6
business days I created an entire application in Microsoft Access. That
is the definition of “Rocks.”
I didn’t show the finished article
to that programmer-kid I work with yet. I doubt it would convince him to
abandon .Net for Access anyhow. Truth is, it’s a
friendly rivalry between our two coding worlds and just as I admire what he
does, he respects what I’m able to accomplish for the business productivity of
our users with Microsoft Access.
So you can become a “real”
programmer and learn C# or Java, but you don’t have to. Both today and
apparently for some years to come, Microsoft Access still Rocks for developers.