Microsoft KB Archive/824173

= Microsoft Access stops responding when you edit a record that is being edited by another user =

Article ID: 824173

Article Last Modified on 4/9/2007

-

APPLIES TO


 * Microsoft Office Access 2007
 * Microsoft Office Access 2003
 * Microsoft Access 2002 Standard Edition
 * Microsoft Access 2000 Standard Edition

-



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

Moderate: Requires basic macro, coding, and interoperability skills.



SYMPTOMS
When you try to edit a record in Microsoft Office Access that is being edited by another user, the record may not be shown as locked. Also, Access may stop responding for a significant period of time during the attempt to edit a record that is modified by a user but is not yet saved in the database.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.



MORE INFORMATION
When you edit a record in the database by using Access while the record is being edited by another user, all the records that are related to the record are shown as locked. The locked record indicator appears at the record selector of the record, and you may not edit the records.

However, if the record does not have any child or related records, the locked record indicator does not display.

Caution If you follow the steps in this example, you modify the sample database Northwind.mdb. You may want to back up the Northwind.mdb file and follow these steps on a copy of the database.

Steps to Reproduce the Behavior
 Start Microsoft Office Access. Open the Northwind sample database. Delete all rows that correspond to OrderID 10692 from the [Order Details] table. To do this, follow these steps:

Access 2000, Access 2002, or Access 2003  In the Database window, click Queries under Objects. In the right pane, double-click Create query in Design view. In the Show Table dialog box, click Close.</li> On the View menu, click SQL View.</li>  In the SQL View page, paste the following SQL statement: DELETE * FROM [Order Details] where OrderID=10692 </li> On the Query menu, click Run.</li> Click Yes.</li> On the File menu, click Close.</li> Click No when you are prompted to save the query.</li></ol>

Access 2007 <ol style="list-style-type: lower-alpha;"> On the Create tab, click Query Design in the Other group.</li> In the Show Table dialog box, click Close.</li> On the Create tab, click SQL View in the Results group.</li>  Paste the following SQL statement: DELETE * FROM [Order Details] where OrderID=10692 </li> On the Create tab, click Run in the Results group to run the query.</li> Close the query without saving it.</li></ol> </li> Create a query that is named qrytest to show the order details of the customer with customerID ALFKI. To do this, follow these steps:

Access 2000, Access 2002, or Access 2003 <ol style="list-style-type: lower-alpha;"> In the Database window, click Queries under Objects.</li> In the right pane, double-click Create query in Design view.</li> In the Show Table dialog box, click Close.</li> <li>On the View menu, click SQL View.</li> <li> Paste the following SQL statement: SELECT Orders.OrderID, Orders.CustomerID, Orders.OrderDate, [Order Details].OrderID FROM Orders LEFT JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID WHERE (((Orders.CustomerID)='ALFKI')); </li> <li>On the View menu, click Properties.</li> <li>In the Query Properties window, set the Record Locks property to Edited Record.</li> <li>Close the Query Properties window.</li> <li>On the File menu, click Save.</li> <li>In the Save As dialog box, type Qrytest, and then click OK.</li> <li>On the File menu, click Close.</li></ol>

Access 2007 <ol style="list-style-type: lower-alpha;"> <li>On the Create tab, click Query Design in the Other group.</li> <li>In the Show Table dialog box, click Close.</li> <li>On the Create tab, click SQL View in the Results group.</li> <li> Paste the following SQL statement: SELECT Orders.OrderID, Orders.CustomerID, Orders.OrderDate, [Order Details].OrderID FROM Orders LEFT JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID WHERE (((Orders.CustomerID)='ALFKI')); </li> <li>In the Properties Sheet window, set the Record Locks property to Edited Record.</li> <li>Save the query as Qrytest .</li></ol> </li> <li>Double-click Qrytest to run the query.</li> <li>Modify the Order Date field for the record with OrderID 10692.</li> <li>Start another instance of the Northwind database.</li> <li>Double-click Qrytest to run the query.</li> <li>Try to modify the Order Date field for the record with Order ID=10692.

Notice that as soon as you type any characters in the record, Access stops responding for a while. The duration of this behavior depends on the number of characters that are typed. However, you cannot modify the record.</li></ol>

Additional query words: ACC2007 ACC2002 ACC2003 ACC2000 hangs dirty

Keywords: kbstoprespond kbdisplay kbquery kbuser kbprb KB824173

-

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

© Microsoft Corporation. All rights reserved.