|
By splitting your Access databse, you separate the appliction into the front end and data (tables) into the back end.
This is a good practice for all software including Access applications. This is why I recommned that ever database should be split into a application/front end and data/back end . It is not just for multi-user applications/databases. I also split a database, even if it is just for a single user on a standalone computer.
Splitting a database is not just for multi-user databases!
It's about a good software design.
While you might think it is a good idea to wait until you are ready to deploy your database to split it, I urge against this. I actually find that having a split database during the development and testing phases also aids in many ways.
Some reasons why I start every database split:
- Most importantly, it helps protrects the data!
- Easily switch between back ends for better testing
- Desiging in the same enviroment that the application will be used allows better testing as you build the app.
- easy to test ideas on copies
- backups are easier
- avoid retesting everything later after the app is split.
When you are ready to deploy your database, you can help protect your applicaiton by compiling the front end into a MDE/ACCDE. This will prevnt anyone from entering design mode for Forms, Reports, and Modules. You want to be sure and keep the original MDB/ACCDB since this is your source. If you want o make any changes you must use the original MDB/ACCDB. When your changes are completed, you will create a new replacement MDE/ACCDE.
Where do I update forms, reports, queries, modules, and macros?
The Application (front end) is where all the forms, reports, queries, modules, and macros are located. Once you have made the all the desired changes and have them fully test, it is then time to deploy a copy to all the users.
When I am ready to deploy a new version, I first compile the Application (front end) into a ACCDE or an MDE for 2003 and earlier formats. If while testing, I relink to test data, I open the new ACCDE/MDE and relink the tables. I think go through the steps to lock it down. Once this is done, I copy the ACCDE/MDE to a shared location on the network.
Deploying Application (Front End) Updates
There are several methods you can use to deploy the new Application (front End) version to all the users. Here are some:
1) Manually copy the file from the server to a the local folder
2) Use a shortcut to copy the new version from the server
3) Use some type of auto updater. This would automatically detect and copy the new version.
Tools to help deploy your Access Applicatipon (front end) on a LAN
Auto FE Updater
BTAB Development - Free access Code for deploying updates
Easy Front-End AutoUpdater for large (or small) database environ
Front End Automatic Update to New Version
Using VBScript
Where do i update the tables and relationships?
The Data (Back end) is where you will find all the Tables and relationships. This is where you will make all the table design changes and define relationships.
Note: You can view the relationships from the Application (Front End). You can also view the table design from the Application (Front End). This is just for your convenience. You MUST open the Back End (data) to make design changes.
I like to use test Data (back end). I will make the changes to the back end and test the new Application (front end). When the new Application (front end) is deployed, you must also deploy the changes to the Back End (Data). This is where it gets more difficult. Unlike the Front End where you can just replace the file, you must apply the changes to the production back end. To update the back end, first you need all the users out. You should have exclusive access to the database file. I usually use something to flag the front ends that the back end is off line and it disables the Application (front ends)
I highly recommend that you make a backup before applying your changes.
If you keep good documentation, you will have a record of the table changes you have made. You can manually apply the changes. Since I do a lot of remote updates to back ends, I use an updater application to make the changes to the back end (data)
Tool to help deoply back end updsates
BTD Development - Free access Code for deploying updates
Additional resources
For more information about splitting your database into a application / Front end and Data / Back End:, check out the following:
Splitting a access database, or how to run ms-access in a multi-user mode.
Splitting your Microsoft Access MDB into a front end and back end
Split your Access database into data and application
Have you split your database yet?
|