I split all my databases into front/back end, for two reasons.
1. Multi-user environment, as in your case.
2. If I need to update the program file (add a report or fix some code), I
do not have to lock the users out while I am fixing it - only while I am
copying it back in place. With a single file, I have to deny data entry
almost any time I am programming, not just for the 30 seconds it takes to put
a new copy in place.
In addition, I usually just give each user a shortcut to a centralized copy
of the program file so that I do not have to distribute program updates; all
I have to do is copy the new version over the old one at a moment when nobody
has the DB open.
Notes:
Network latency: be forewarned that beyond one or two users, Access backend
over the LAN can slow down the front end if you use complex queries and/or a
lot of controls on your forms. Eventually, you may find yourself migrating
towards Access projects with SQL (MSDE back end)) to resolve this one.
Paths: To ensure that the linked files work for the clients, make sure the
path to the data file is the same for the client PC's as for your development
PC, or else use the Windows API call to allow each client to browse for and
refresh the file links when you issue an update.
Relationships: set all the referential integrity (table relationships) in
the data file so that the system can manage it for you.
Transition: Backup your database first. Then copy the entire database as-is.
Strip all the tables from one (this will be the program file) and all the
forms, queries, and reports from the other (this will be the data file).
Compact and repair both. In the program file, create links to the tables in
the data file.
Security/Audit: depending on the security and audit requirements, you may
want to set up a user login structure and possibly record the current user's
ID/name, along with the record creation and/or edit time in certain key
tables. This can add a lot of programming time, though.
DB integrity: the more users there are, the more error-prone is the
application. Strong referential integrity helps, as does turning off most
menu options so that users cannot add/delete records except as your program
allows.