The beef is
specifically with multi-user network set-ups with enough traffic to matter,
examples of success with which are few and far between. (But, as I said, not
unheard of -- if yours is one of the rare successes, good luck to you.)
The above is a very fair question. We would most certainly have to spend a
bit of time defined what you mean by enough traffic?
A very large portion of business applications really don't have that much
data. I have a good number of clients using access applications of mine.
They have these applications for years without trouble. (in fact, no ONE a97
corruption yet!). Of course, most of these example clients of mine are about
only a 5 user systems. The tables sizes are small, usually only in the
40,000 record range. The application would be considered medium size by
access standards. It has 160 forms, 25,000 lines of access VB code, and 60
tables. As a note, the development language in ms-access is the same as VB,
but a different forms model. Most of these applications even use class
objects that I wrote in ms-access.
That above application with 5 users responds instantly under all situations
I can think of for that client. I mean, really...5 users and those small
tables is nothing for JET. On the other hand, the above type of business
application represents a VERY large swath of what the typical small business
multi user database looks like.
Further, the above company can run for a good year or more without any
database admin, or any special setup on the server side. It really is free
for the client to run. There is no cost of running and setting up and
maintain sql server. Who is going to pay for that? Of course, if one is in
the IT business...you don't want to sell something that don't take expensive
help to run ...right? Hence, the general dis-like of JET..since it is too
low cost!
I should mention that in fact the majority of my clients are in the above
size in terms of users and data size. They all experience first rate
performance, and have virtually no maintenance costs as a result of running
my software. I mean, really, why run sql server with 5 or 10 users, and 50
tables that are only each in the 40,000 record range? It is silly!
As mentioned, most IT people would want YOU to use sql server, as it
generates a good support flow of dollars. You might as well jump on this
wagon, as most of these folks will do everything possible to make you NOT
use ms-access.
And, yes...I will most certainly agree that if your tables sizes are in the
millions, and your user count is 30 users, then yes, I have to agree with
you. That kind of table size and those kinds of user numbers warrants that
you use a server based system in place of a file share mdb and JET.
The real beauty of ms-access is that you can switch the back end data store
to sql server anyway.
In fact, you can even develop native OLEdb sql server applications with
ms-access if you wish (that is no local tables...and a 100% OLEdb connection
to sql server). With this setup, there are some systems with a user count in
the 1000's.
Further, the last 3 versions of ms-access have shipped with a true client to
server based engine anyway (the MSDE). This free engine included on the
office cd is 100% compatible with sql server. Ms-access is now designed to
work with, and be a front end to sql server right out of the box. Hence, as
access developers...we have a lot of choices here!
In all the cases I've seen the development savings achieved by developing in
Access were chewed up *many* times over by the maintenance costs and
subsequent write-off when the orgs involved finally gave up.
Lets not confuse the data engine with the product ms-access. Ms-access is
not really a database, but only a visual basic development tool. It can
easily be the front end for JET, or Sql server, or Oracle..or whatever. So,
ms-access is only a "access" or a client tool to develop applications with.
As for poor results? Hum, I seem way more disasters with using VB to sql
server then I seen with ms-access. And, those horrible results usually
entail much larger disasters from a budget point of view!
Also, poorly written VB to sql applications tend to have the worst UI. In
fact, the last VB to sql system I did a consult on was a real mess. That
consult was either to dump the $400,000 they had spent on a VB to sql server
system or to keep it. Wow, what a mess and even things like Referential
Integrity was NOT used. (it was all in the code!).
So, good VB programmers don't write good database applications either.
However, good database developers tend to write far better applications when
what you see with c++ or VB to sql server applications written by strong
coders...but weak database skills.
So, Cleary, there is wide differing in your experiences compared to my
travels in the IT world.
At the end of the day...it all comes down to having good designs and
developers on the project. Without good developers...then one can make a
huge mess with any platform..and that includes ms-access.