dbTalk Databases Forums  

Re: linked tables can't edit while someone is linked

comp.databases.ms-access comp.databases.ms-access


Discuss Re: linked tables can't edit while someone is linked in the comp.databases.ms-access forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Jan T
 
Posts: n/a

Default Re: linked tables can't edit while someone is linked - 02-01-2012 , 12:27 PM






On 2012-01-31 9:07 PM, sparks wrote:
Quote:
On Tue, 31 Jan 2012 18:04:26 +0100, Jan T<accessdev (AT) yahoo (DOT) com> wrote:

On 2012-01-31 4:04 PM, sparks wrote:
We have an access 07 database that has 3 shared tables.
You can not edit the database when anyone is linked to one of the
tables.

Is there any way around this problem?




It is not possible to change the design of a table (or any other object)
when it is in use. Access requires an "Exclusive" lock on the database
before any design changes can be made and can only do so if no other
users are present.

could I made a new table with just the linked tables in it.
then have them link to that database.
would that solve the problem?

As Larry points out, this is by design and trying to work around it in
the manner you are investigating is indeed a recipe for disaster. While
this may be possible in other (dare I say real) DBMSs, it is not
supported by Access.

A few pointers to managing your development and production environments:
Start by splitting your database into a Frontend and a Backend, if you
have not already done so. The backend should *always* remain in .mdb or
..accdb format, or you will not be able to change the design in the
future. The frontend is developed in .mdb (.accdb) format, but is
deployed in the production environment in .mde (.accde) format to
prevent tinkering by the end user. So :

Development : Front End = mdb (accdb), Back End = mdb (accdb)
Production : Front End = mde (accde), Back End = mdb (accdb)

Now, whenever a new Frontend has been developed, the resulting new mde
only needs to be copied to the production environment and relinked to
the production backend.

Changes to the backend are much trickier and there are several possible
approaches. I would recommend that you carefully script such changes in
your development environment and then apply them in all you production
environments. For example, executing the following statement in the
Backend will do exactly what it suggests :

CurrentDb.Execute "ALTER TABLE MyTable ADD COLUMN MyNewColumn TEXT(100)"

Scripting allows all to be applied quickly and accurately, which is
especially important if the same changes have to be applied to multiple
instances of the database. At that point, however, you will still need
"Exclusive" lock on the backend database.


HTH


Jan T

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.