[QUOTE=Quartz]
How far (timewise) from the server is the farthest client? IIRC Access had a big problem with extended latencies. LAN ok; WAN not ok. Sofaspud can probably give chapter and verse. Also, for how many users is this? If it’s for many people, could you use Access for the front end and one of the free SQL servers for the back end?
[/quote]
Access used to be a lot worse about handling latency than it does now, back in the Bad Old Days when MS had the engine handling file transactions internally rather than relying on the OS. That was many moons ago, however; these days, if your filesystem doesn’t time out, Access won’t. However, it may run like a lame pig on a hot day in quicksand unless you design it properly. More on that below.
As for the free SQL backend suggestion, absolutely! Access is perfectly capable of connecting to just about any data source, and I can even provide links and tips for using DSN-less connections (which make deploying the front end a WHOLE lot easier, let me tell you).
[QUOTE=SCSimmons]
…
In all cases, you should have backup copies of the front-end. It will occasionally get corrupted, sometimes in a way that’s very difficult to recover, and you’ll need to restore from backup. If you split the database, you should virtually never encounter back-end corruption.
(This has been my life for about ten years now, for two different companies. Just for the record.
)
[/QUOTE]
Dude… are you me? 
One trick I’ve employed to keep front-end corruption to a minimum is to employ a every nth run automatic compact and repair (where ‘n’ is an arbitrary figure I pluck out of thin air). Most users won’t even know where to find the Compact and Repair option, and will be scared to use it if they knew where it was. You can trigger it (silently, even!) with VBA code. This will take care of the little housekeeping bits that MS doesn’t quite get right, and keep your headaches down at the same time.
To reinforce SCSimmons’ suggestion, do NOT use Memo fields. If you absolutely must (for a field that will regularly require more than 255 characters, for example), then split that field out to its own table and reference it only when needed. I can provide more details if needed. The key really is in data transfer; train yourself to think about what each transaction – each hit on the back end – really entails before you design a form and you can eliminate most bottlenecks before you even enter the actual development phase.
Some key points re: data transfer:
-
Filters are bad, mm’kay? When you use a filter on a form or report, what Access is really doing (in most cases) is requesting ALL the data that fills the basic criteria, then narrowing that down on the front end. Use dynamic queries instead (not the same as parameter queries, by the way).
-
Searching records via the built-in controls is also bad, for pretty much the same reasons. Access isn’t smart enough to construct a query based on your search criteria, so what it does internally is essentially filter it. You won’t notice this if the data is stored locally; across a LAN or WAN, you’ll have time to go make a cup of coffee while it thinks.
-
Design your forms to retrieve and manipulate one record at a time, wherever possible. This way, you’re not locking records you don’t need to (worst case, the whole table!), and you’re not transferring data you don’t need to either.
Access really is a good solution for low-impact (and even some high-impact) scenarios. Designing and maintaining multi-user databases with it is a great way to learn the intricacies of database management and design. Good luck! (And don’t hesitate to ask if you have questions!)