Database Journal published an article yesterday about the Top 10 Reasons Why Access Still Rocks for Developers. After I wiped the coffee off my monitor, I had to write a rebuttal.

The following headlines are theirs, not mine, but the responses are mine.

1. The price is right.

The author says:

“Access is freely available … to everyone who has Microsoft Office Professional.”

That’s like saying fine Corinthian leather is completely free … to anyone who has a Chrysler Cordoba.

Microsoft Office Professional is not free – it’s $400! If you want free, go download SQL Server Express Edition right now. It’s completely free, period.

2. Landing pad for data.

That’s not even a sentence. You have to read through his points one by one to understand where he’s going:

“I regularly copy and paste data from Excel and Notepad directly into Access tables.”

You know what’s really funny is that I regularly copy/paste data from SQL Server into Excel! It’s all about what you’re familiar with. Excel has a heck of a strong feature as a front end, and I’d make the argument that I’d rather do a lot of my “landing pad” work in Excel, not Access. The author goes on to point out:

“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…”

Access does have a great reputation for ease-of-use. This is the one point I’ll grant the author.

3. Plethora of books and training materials

Amazon search results reveal roughly 10,000 books for Microsoft Access and 5,000 books for Microsoft SQL Server. How many books do you need? What platform do you think has too few books available that your #3 reason to use Access is the book selection? Punch cards?

4. Vast online community to offer free help

You want to go there? Really? There are ~1700 Stack Overflow questions tagged with Access, and hundreds of thousands tagged with SQL Server. Not to mention the wildly vibrant #SQLhelp on Twitter, and SQLslack.com.

But the author goes on to kick sand in the face of the SQL Server community by saying:

“I never felt the camaraderie or the community in SQL Server or .Net newsgroups that was ubiquitous in the Access ones.”

Of course not, dude – because you’re pimping Microsoft Access. SQL Server people ***hate*** Access people. If I had a dollar for every time I encountered a stupendously poorly crafted Access “database” that required amazing rework in order to scale, I’d – well, actually, I do. I have a lot of money from those projects, come to think of it. Actually, would you mind sending me your client list?

5. Subforms

The author writes:

“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.”

Welcome to 2010. Among many interesting new things such as flat panel monitors, hybrid cars, and the wheel, we’ve also come to embrace many new programming concepts like MVC. While it was initially intriguing to get your application chocolate in my database peanut butter, we have found over time – decades, in fact – that the application might work best when it’s separated from the database.

6. Reports

See above.

7. VBA

See above, but one quote has to be shown:

“Real Access developers don’t use macros … we write VBA code.”

I don’t even know where to begin with that one.

8. Integration with “real” databases.

Why not just use a real database from the start? SQL Server Express Edition is completely free, and not only do the databases scale up beyond 4 gigs, your career can scale too. The skills you learn working with Express Edition translate to a better long-term career as a database administrator or developer on huge projects – projects where you don’t have to be the one guy writing data storage, reports, and workflows all inside the same tool, by yourself.

One of the author’s points is just flat out incorrect:

“The front end was an Access 97 mdb file, which linked to an Oracle database. On Friday at noon, 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.”

Actually, that does matter. You could have written the front end in .NET, C++, or Classic ASP, and it would have scaled if Oracle’s doing all the work.

9. New features in 2010

The author says:

“Table macros and publish to Web. ‘Nuff said.”

Errr, wait – up in #7, I thought you said real Access developers don’t use macros?

10. The Play-Doh factor

The author says:

“Access applications are easy to mold and shape into whatever you or your client needs. In this context, easy means inexpensive.”

If we reword “applications” to be “proof-of-concept apps”, I’d agree. But when the client builds a web site for their online store, does it scale? If they suddenly become the next bacon salt, can they sustain a load of hundreds or thousands of customers ordering simultaneously? Can they build StackOverflow in Access? No way – again, I’ve followed behind too many Access projects that suddenly ran into problems with scaling or data volumes.

Folks, come on over to the SQL Server side. We make real dough, not the play kind.

Update: More Posts from Other Bloggers

Other bloggers have chimed in with their thoughts on Access: