I have moved my comments from http://codebetter.com/blogs/karlseguin/archive/2006/07/07/147188.aspx as I don’t want to muddy up his discussion.
I have never understood why access gets shoehorned into so many roles it is frankly not good at.
1) If I need an embedded SQL engine I am using SQLite or vistadb. MDAC is a nightmare.
2) If I need a small multi-user db access is amoung my last choices .. mysql, postgres, desktop version of sqlserver ..
I think Microsoft said it best about JET http://support.microsoft.com/?KBID=300216#
“Microsoft Jet is not intended to be used with high-stress, high-concurrency, 24×7 server applications, such as Web, commerce, transactional, and messaging servers. For these type of applications, the best solution is to switch to a true client/server-based database system such as Microsoft Data Engine (MSDE) or Microsoft SQL Server. When you use Microsoft Jet in high-stress applications such as Microsoft Internet Information Server (IIS), customers have reported database corruption, stability issues such as IIS crashing or locking up, and also a sudden and persistent failure of the driver to connect to a valid database that requires re-starting the IIS service.”
That said it is a great database tool. Using it to connect to other data sources can be wonderful for creating small user base, simple applications (and you don’t need an engineer to do it) or for allowing adhoc querying by users. I mean give it some credit in the area it excels (pun intended).