And this can't be done if Jet weren't improved...? That way you get the best of all worlds.
To improve on those, Jet would have to be fundamentally changed. As I said earlier, the limitations are not artificial but rather inherent in the design of the Jet and that's why I pointed out SQLite earlier- both offers a no fuss setup at expense of limited concurrency and stability, both which are only fixed by having a daemon, which throws out the whole advantage of no-fuss setup.
You correctly pointed out in item 1 the downside of using a different backend. When you tell people about your success with MySQL, you point them to a white paper on Microsoft's website. This white paper is above the heads of MANY people who do have the skillset required to create a successful Access database. Why not change Jet to accommodate these people? Microsoft invests so much time improving the front end (thankfully) so why not give it a more robust back end at the same time - one that does not require more studying of white papers to interact with.
Well, I'd argue that if they were in over their heads, they're better off handing off the job to a contractor who has the sufficient expertise and training to handle the development. It is simply a matter of the design. A while back, someone asked about difference between VB.NET and Access, to which I gave analogy of Access being alike legos and VB.NET being alike to a bunch of wood and rocks. You can build a replica of say, Effiel tower in no time with Legos, but it's not as realistic and life-like. But you can carve out from wood or stone and make it even more realistic but it doesn't only take much more time but also require more skills to produce such model. Finally, many more people can build Effiel Tower out of Legos, but few people have the time, skill and patience to do the same with raw materials. I believe the analogy stills applies here- we can keep asking for more and more functionality until we're blue in face, but eventually we start to leave some of people out of the picture, and that would be now contrary to Microsoft's goals with the Access (though I'm sure several of us here may not always agree with their goals- I certainly don't and think Access is more properly a IDE but I'm not the one dictating the policy.) To improve the back-end for increased concurrency and performance without fundamentally changing the design as a file server dispensing out pages would not be a trivial, and why even bother when there are several good database engines out there for use?
And here's more. It's not the only solution. You proved so yourself by using Terminal Server to extend Access beyond a single LAN network and make it usable in world. Even better yet, you didn't have to change one line of code for the Access application to work in a Terminal Server setting.
David Fenton would like to prove so with replications (and IINM, SQL Server since dropped its support for replication, so that puts Jet ahead of SQL Server already because it's still fully supported. {Though it is not to say that it will continue to be supported as ACCDB no longer support this functionality, though Access 2007 is fully capable of supporting replication}). We're still talking pure Access solution here.
Luke Chung, the guy who runs FMS Inc has done a study and claimed that only 2% of Access database needs to be upsized. (though I'd really like to know where he got that number...) I think this shows that Access does a great job of filling its intended niche as a small group database solution.
Which reminds me- that's another thing I think we're seeing in conflict. Access is great at both being a small database solution *and* a default front-end client, so for that reason it may yo-yo between two different niche between versions. 2007 was a swing toward the former, definitely, much to my consternation.
That's where the analogy of legos and woods/rocks break down. Access is actually versatile enough to be molded to other Legos blocks *and* wood/rocks that has the cutout that's compatible with Access's molding. So there's already many way to take Access in different directions, with different costs in regards to training, time and expertise for a given specifications.
ADP was far from "native" integration. There were many limitations using ADP and required the resource-overhead of having SQL Server installed (not to mention cost until 2005 when Microsoft released SQL Server Express. I don't even want to discuss the problems with MSDE!)
Yes, it was a long way off, but IINM, it was just one version and thus was expected to get better over time. Only that developers (based on what I read and I could be wrong here) didn't want any of it. Too many niceties about .mdb/.accdb had to be sacrificed just to use .adp and for little gain. Thus Microsoft's hope of moving us from Jet to SQL Server/MSDE didn't get anywhere. I should point out that even though DAO (as a data access technology) was obsoleted long ago, and we were encouraged toward ADO, 2007 ends up with a new version of Jet and DAO. Should speak volumes, I think.
Have you used Navicat? I downloaded a demo of it and it looked like a very user-friendly way to work with MySQL. If you have, what is your view?
First a warning: If you're using MySQL, you should be using command line clients for long enough to be familiar with it. Nothing will make sense until otherwise. In fact, I'm having this issue with SQL Server because there's not a command line client to slap me silly, especially in realms of permissions, indices, and configurations. So I'm learning SQL Server slower compared to MySQL. I'd bet that Navicat would just be as much crutch without the familiarization.
That said, when you've became familiar with MySQL's inner working, NaviCat is absolutely great way to work with stuff. Made my security administration a breeze and it was easy to quickly create tables, once I knew what SQL should look like and occasionally edit some of it. I'd buy it in heartbeat, actually, if I'm still working on MySQL.
Sounds like Access is a better system than most people give it credit for.
Indeed. A while ago, we had a thread about why IT hates Access, and I think it was quite illuminating. If you haven't had read that one,
here it is.