Copying data from Access database while it is being used

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have a Access database which is used by an application and is continously
storing data. The application which is storing data is running on different
machines and storing in different access databses. Is it possible to transfer
the data from these individual PC into a seperate database which the
application is using it? If yes, can anyone help me with this??

Is there a solution for this?

Regards,
Ritesh
 
If you use an Append query to push the data into another database, it can be
done safely. You'll need to buy a book or use the helpfiles, because the
entire solution is a bit too complex to do more than outline here.
Essentially to run Tranactions with a Transaction the process succeeds or
you roll it back to where it was. A Transaction places the entire block of
data into another temporary table, often in memory for the smaller ones,
then committs it if there are no errors.

What will happen in your case is that the Transaction will lock the
table(s), then grab the data, then release the tables. If a table is already
locked, it will throw an error and fail. Your code should, allow for these
and try again at least a few times before informing the user that the
transaction has failed. The keywords you want to look for in help are:

Transaction, BeginTrans, CommitTrans, Rollback
--
Arvin Meyer, MCP, MVP
Microsoft Access
Free Access downloads:
http://www.datastrat.com
http://www.mvps.org/access
 
Ritesh Paunikar said:
I have a Access database which is used by an application and is continously
storing data. The application which is storing data is running on
different
machines and storing in different access databses. Is it possible to
transfer
the data from these individual PC into a seperate database which the
application is using it? If yes, can anyone help me with this??

Is there a solution for this?

Regards,
Ritesh

Access is designed to do just this and is the way many of us use Access.

Since you now have data on different machines and I am going to guess
that the data is not the same on each of those machines, you will need to
combine most, if not all of that data onto one copy of Access. This will be
complicated if the tables and data are not formatted exactly the same, For
example 123 in one data base may be text and it may be a number is a
different machine. One may use Three fields for a name FirstName, IM and
LastName and another may put it all in one field.

I suggest you start by deciding exactly how you want the final product
configured and then how you are going to get all that data into that one
database in the same format. Your final design may not be the same as any
of the existing designs.

Next you need to decide the split. What parts of the database will be
on the "server" and will be called the Back end database from now on and
which parts will be on each user's machine and will be called the front
ends. The back end should hold all data that is shared and may be changed
by the users. It should also contain all or most data that more than one
user will need access to and may be changed by you from time to time. Most
other data that does not change or that will only be used by that particular
user should be on the Back end databases on the users machines.

For example you may have all the sales made by a unit on the back end
along with the price list. The sales may been to be shared by everyone so
they all know what has been done or pending. The price list may not be a
field they will change, but you may need to change to assure everyone has
the same current price available.

Each individual machine may have something about your company like
addresses that does not change or even product descriptions etc. You may
want each user to be able to store personal information about customers like
their kids names or shared information about sports teams or you may want to
put this on the server so everyone will have this information.

This is an art form and a science to get this part of the planning
designed and will be an ongoing job and should include the users in the
planning.

Access works best if it does not need to move a lot of information over
the LAN which means static data is best kept on the front end databases.
Also kept on the front end machines will be most forms, reports queries etc.
This will allow the whole system to work faster and in some cases allow for
customization of some forms reports etc.

This may seem like a lot of work and off the point of the question you
were asking, but it is very important that this part of the job be done
first and right.

Next is the mechanics of setting up the back end on the server, dumping
in the data and putting the front end copies on each user's machines and
assuring that the links work. Access has a built in database splitter that
may make this part of the job (moving from a single database with all the
data and forms etc. to two databases a front end and a back end.) easier.
Look under the Tools menu for it.

You may also want to look into user level security to protect the
database and data before you finish.

I suggest you start by reading
http://support.microsoft.com/default.aspx?scid=kb;[LN];207793

Access security is a great feature, but it is, by nature a complex product
with a very steep learning curve. Properly used it offers very safe
versatile protection and control. However a simple mistake can lock
everyone including God out.

Practice on some copies to make sure you know what you are doing.

Splitting a database can be a big job, but done right everyone will
thank you and wonder how they did their jobs without it.

Note: back ups become more important here. If you LAN does not support
automatic backups you should provide a method of backing up the data, even
if that means you do it manually.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top