Microsoft KB Archive/238258

= ACC2000: Access Database Does Not Use Record-Level Locking When Started from a Windows Shortcut =

Article ID: 238258

Article Last Modified on 1/26/2005

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q238258



Novice: Requires knowledge of the user interface on single-user computers.

This article applies only to a Microsoft Access database (.mdb).



SYMPTOMS
When you try to edit data in a multiuser Jet database or in a database that you have open more than once on your computer, you cannot modify the records, and the Record Locked icon is displayed to the left of the record in the table. This behavior occurs even when you have the database set for record-level locking and no one else is editing the same record.



CAUSE
The first instance of the multiuser Jet database was opened either by using a Windows shortcut or by double-clicking the *.mdb file in Windows Explorer. When Access 2000 opens a Jet database in these ways, the Jet database uses page-level locking instead of record-level locking.



RESOLUTION
To resolve this problem, obtain Microsoft Office 2000 Service Release 1/1a (SR-1/SR-1a).

To obtain SR-1/SR-1a, click the article number below to view the article in the Microsoft Knowledge Base:

245025 OFF2000: How to Obtain and Install Microsoft Office 2000 Service Release 1/1a (SR-1/SR-1a)

To temporarily work around this problem, ensure that Microsoft Access uses the correct record or page locking setting. To do so, open Access first, and then use either the Open an existing file option in the startup Microsoft Access dialog box or the Open command on the File menu to open the database.



STATUS
Microsoft has confirmed that this is a problem in Microsoft Access 2000. This problem was corrected in Microsoft Office 2000 SR-1/SR-1a.



MORE INFORMATION
The behavior described in the "Symptoms" section of this article is of particular concern under the following conditions:
 * You have the Default record locking option set to Edited Record or to All Records.
 * You want to open a database by using specific command-line switches.
 * You are distributing an Access run-time solution.

Although you cannot completely avoid this problem under these conditions, you may be able to moderate them by changing the locking strategy or by changing the startup procedure that you use for opening a database.

Changing the Locking Strategy
When you set the Default record locking option to Edited Record or All Records and the database is in page-locking mode, the page that contains the record that is being edited, or the entire table, respectively, is locked as soon as a user starts editing a record. By changing the Default record locking option to No locks, you can delay the locking of the edited page until the user actually saves the modifications made to the record.

NOTE: You can check or change the Default record locking option by clicking Options on the Tools menu, and then switching to the Advanced tab in the Options dialog box.

Opening a Database with Specific Command-Line Switches
You can run some of the command-line switches used by Access 2000 without specifying a database path. A common reason to use a command-line switch is to designate a specific workgroup information file to use when opening Access. If you typically use a Windows shortcut to designate a specific workgroup information file, consider using the Windows shortcut to open only the Access program with the command-line switches, and then to let the user pick the database from the opening dialog box. For example

"C:\Program Files\Microsoft Office\Office\msaccess.exe" /wrkgrp C:\MyWorkgroup.mdw /user MyUser /pwd MyPassword

starts Access using the MyWorkgroup.mdw file and supplies the user name, MyUser, and the password, MyPassword, and then stops at the opening dialog box where the user can select a database.

You can also use the /nostartup command-line switch in a Windows shortcut without providing a specific database path.

Working with Access Run-Time Solutions
Because an Access 2000 run-time application must use a Windows shortcut to start, it uses only page-level locking. The only current workaround is to modify the locking options for the database as described earlier. Although the database is still opened in page-locking mode, using the No locks option reduces the amount of locking contention that occurs in multiuser solutions.

Additional query words: pra row level locking

Keywords: kbbug kbpending KB238258

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.