I was digging around for an MS Access-like db for Linux, too, and I could have swore there was some KDE equivilent. Maybe that's Kexi, which you've been mentioning?
I really hate to do this, but as much of a pain in the butt as MS Access can be at times, you're probably better off sticking with it for now. It's very flexible, and provides a decent common ground for beginner's and advanced users.
I think what I would do in your situation, though, is try to farm the back-end database tables off onto like MySQL or MS SQL Server, or Oracle, then use MS Access as a thin-client to store all the forms, queries, etc. Instead of linking in the server tables and making queries from them, opt for pass-through queries, which run much faster since they're done server side. Access' query engine is notoriously slow sometimes with linked tables.
So, you'd have this back-end data server, and each person would have their own copy of the MS Access db client, which they could bloat up with their own queries and such. You'd keep a main development copy of the Access db, which you'd make the base changes to common forms and things to, then everyone can just import the updated common forms, queries, etc. You can even do up a macro or VBA script that would delete all the old common stuff before re-importing it, that way folks don't get stuck renaming things to get the "2" off the end.
If you're strapped for developer resources, then MS Access is a low-cost solution. However, due to its limitations, it's really just for small-scale db operations. If you're just using it with 10 folks, then no problem. You could even use on MS Access db as your "back-end" to store the tables everyone's client-side version links in to. You just need to make sure it doesn't get too bloated. MS Access has a nasty habit of "going critical" if it reaches like 500mb or such. The db can crash, and you might be able to compact/repair, but more likly you end up having to import all the stuff into a new MS Access db to recover from it (had a guy at EDS that this would happen to a lot until I broke his main MS Access data db into sub db's that each stored chunks of tables ... the developers wouldn't let us turn it into a SQL Server table structure, so we were kind of limited on our options.)
Anyways, make sure you untick the "Track changes" and stuff, too, since that's been known to corrupt an MS Access db over time.
I'd say just stick with it, and use MS Excel as your output / reporting tool. I personally automate MS Access db's with VBA to tap into various data sources (SQL Servers, Oracles, etc) compile data, spit out MS Excel reports with pivot tables, save it some where, then automate MS Outlook (using Redemption .dll to avoid the security pop-up) to email the reports to folks.
That trio is a very good, low-budget office automation grouping if you're lacking real software developers to make things more robust and large scale.
You're right, though. It'd be nice if Base would finally catch up to Access. I'd like to really mess around with using an MS Access-like db that uses the simpler Python scripting instead of jacking around with VBA all the time.
So, I guess if you had the choice, rely on in-house software development to build & develop your solution, or see if the budgeting and tech departments can help you purchase a third-party tool along with a service level agreement stating the third-party will help you implement, upgrade and keep it going. Using a third-party tool means it's faster to implement, but it may not have all the bells and whistles you want.
If you're stuck with a low budget and very little development resources, just stick with what you know. If the MS Access db you create turns into something the company can't live without, they'll eventually figure out a larger-scale replacement for it soon enough. But for now, at least you'd be in control of developing it and getting it running just the way you like (which can be good if you're good with MS Access, or a nightmare if you're not so good with it.)
Bookmarks