PeterJC said:
I'm about to split an Access 2007 database for use on a network. Suppose I
want to add a data table to the database? Any functional changes would be
made in the front end, but where would I put the table? In the back end?
But
how would the links to the table be established?
Thanks in anticipation.
For each new table you add, you create the table in the back end (same goes
for any table modifications, or adding of fields). You then simply use hte
external data tab, choose access and the link option...you then browse to
the back end file, and thus link in the ONE new table.
Keep in mind that we often develop applications off site. In fact what this
means is that often you'll be developing and testing your software on a copy
of the backend database AND the front end. Thus is really nice since then
during the development process you are to free to enter test data, delete
records, enter junk into the database, and not worry about damaging or
playing with the actual real production data that's so important to your
organization. As a developer I find it very hard to tippy toe around real
live data that's in use by everyone. So work on both a copy of the front end
and the backend. I can then play around and even test dangerous deletion
routines or enter junk with without any fear of damaging valuable data, it's
kind of like the idea try to work on an airplane with passengers in while
you're flying, versus it's sitting in the garage where you've totally free
to test all kinds of things without serious consequences if you make a
mistake.
So, if you make changes to the back end (such as adding new fields), or in
your case adding a new table, then when I do is start a little note pad
document on the list of changes I'm made. The notepad document will look
like this:
add new column Location (text 25)-- > to table customers
copy new table called MeetingDates
etc etc.
In the above you can see my notes that I added a new column called location
to table customers in my test copy of the development back end system
(remember I have a copy of both the backend database, and the front and
program on my test development machine). So as I develop along, if I make
any changes to the back end database table(s), then I make an entry note in
a small notepad document of what I done.
Then when I am ready to deploy the production database, I have to have
everybody stop working for at least a little bit of time. (you might send
out a company memo, or simply schedule certain amount of downtime when
you're ready to deploy this new update to your users). You then open up
the production backend database directly. You now look at your notepad
"list" of changes you made and quickly knock off each little changes made in
that list to the production database. So from the above example I open up
table customers in design mode, and add a new column called location as a
text column of 25.
I then need to add the table called meetingDates. While in this production
backend database, I will then use a file get -> external data and import the
new table I created called MeetingDates from the development back end. You
could also just create a new table from scratch and manually add the columns
to this table. However, it usually better to import the whole table with all
the indexes and column names and everything else already set up (and you
have this table in your testing/development back end...so, you might as well
use it). Copying in the table makes less mistakes then recreating the table
from scratch. So, once I've modified and added the new column to the one
table, and also added the additional tables I've created, you then ready to
deploy you new version of your software.
So, you then link your new front end to the production back end (that was
previous linked to the testing and development back end). You then create a
an accDE, and it is this accDE that is then distributed to all of your users
desktops.