|
Question : The database has been placed in a state by user admin on XXX that prevents it from being opened or locked
|
|
I have read the prior answers and these solutions do not work.
I have a multiuser MS Access database. There are approximately 7 users (Office 2003, Access 2002 (the version shipped with Office 2003) with the latest patches and updates) of our MS Access database. All the users perform mail merges off the database. It is NOT split, as the reworking of dozens of the mail merges make it difficult to make local copies of the MDB, with the tables to be located on the server. Also, the MDB is already shared in non-exclusive mode, but with "open database with record level locking" on only the record being modified.
Moreover, there is ONE main form which all the updates and adds to the database (about 2000 records, 200+ fields per record) are performed ( a number of subforms, when a command is pressed, may be opened).
For any NEW USER to log into the database, all the other users must close the MAIN FORM, the new user logs in, and then all the other users can reopen the main form. MS Access does not prohibit the opening of the other forms, queries or reports...just the one main form requires closing. If everyone exits back to the switchboard, anyone can log in, open the main form, and then everyone can open the main form and continue working.
There are no random LDB files, when everyone is out of the database. There is no fast opening or closing of the MDB...users are logged in all day. Thus, the Microsoft article about this is inapplicable.
However, upon Cntrl-s (Save), all users will get the error message, as to the locking, but the item will still save, regardless! Hence, we ignore the message as the object save properly.
Is there any way, short of splitting the database, that will allow us to avoid having to close the main form, each time a new user logs in?
Come on you most excellent Access gurus, please help me.
By the way, Please do not refer ANY answers that require VBA programming. I do not know how to program, thus, any answer must be applied by use of the properties functions. Sorry, I know you guys/gals love VBA, but it is way over my head.
|
|
Answer : The database has been placed in a state by user admin on XXX that prevents it from being opened or locked
|
|
By "replicate" I am assuming you mean distribute a copy of the FE to each workstation (replication is an Access capability that allows databases to be worked on in unconnected computers and synchronize the data later. It can get very complicated.) Distributing and not sharing the FE is considered a must for multiuser environments by all experts I know including Microsoft. From http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/office97/html/themicrosoftaccessmultiusermodel.asp
To make your application available to multiple users, do one of the following:
* Place the entire application on a network server and allow multiple users to open the database. With this strategy, users share all the database objects that make up your application, including the tables it uses to store data. * Split your application into two databases: a back-end database that contains your applications tables, and a front-end database that contains your applications other objectsits queries, forms, reports, macros, and modules. Then, place the back-end database on a network server and distribute the front-end database to your users. Base the objects in your front-end database on linked tables from the back-end database. This strategy keeps the data separate from the other objects in your application and reduces network traffic.
Microsoft is the only expert I know that suggests the first method of sharing an unsplit database. They must know some secret they are not staring to making that technique reliable.
Also check under tools, options, advanced tab, the default open mode is set to set to shared.
|
|
|
|