Microsoft Access is fun,
but its 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 arent really going to write that article, are you? His
attitude is exactly why I am writing this article. Dont
get me wrong. This kid is a programming genius who can do anything and Id be lost without him but his comment encapsulates the
perspective of most real programmers who believe that Microsoft Access is
just a toy.
Well, Ive been playing with
access for over 15 years, since version 2.0, so I guess I wont argue with
calling it a toy. Its fun, but its 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 90s and the reasoning hasnt lost
any validity for the 2010s.
Landing pad for data A number of years ago a Microsoft representative gave a presentation at the
Denver Area Access Users 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 its 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 weve never met in
person. Definitely one of the top 10 things that make
being an Access developer great.
Subforms This might be outdated, but Im 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 its 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!
Reports At the event where SQL Server Reporting Services
was first released in Denver, the
speaker made the comment, Finally Visual Studio has a report designer that is
almost as good as what weve had in Access for a decade. The report
wizards are great, but theres so much more. So
much can be accomplished with respect to grouping and paging by doing nothing
more than toggling report properties. What cant
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 Ive ever needed to do that could
not be accomplished.
For years Ive been meaning to learn and use SSRS but its just never been
convenient, so I cant 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.
VBA Real Access developers dont use macros we write
VBA code. Its 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 didnt 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 doesnt 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 didnt
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 Ive
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 didnt 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, its a
friendly rivalry between our two coding worlds and just as I admire what he
does, he respects what Im 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 dont have to. Both today and
apparently for some years to come, Microsoft Access still Rocks for developers.