Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

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


View products that this article applies to.

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.

↑ Back to the top


Status

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

↑ Back to the top


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

  1. Start Microsoft Office Access.
  2. Open the Northwind sample database.
  3. 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
    1. In the Database window, click Queries under Objects.
    2. In the right pane, double-click Create query in Design view.
    3. In the Show Table dialog box, click Close.
    4. On the View menu, click SQL View.
    5. In the SQL View page, paste the following SQL statement:
      DELETE * FROM [Order Details] where OrderID=10692
    6. On the Query menu, click Run.
    7. Click Yes.
    8. On the File menu, click Close.
    9. Click No when you are prompted to save the query.
    Access 2007
    1. On the Create tab, click Query Design in the Other group.
    2. In the Show Table dialog box, click Close.
    3. On the Create tab , click SQL View in the Results group.
    4. Paste the following SQL statement:
      DELETE * FROM [Order Details] where OrderID=10692
    5. On the Create tab, click Run in the Results group to run the query.
    6. Close the query without saving it.
  4. 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
    1. In the Database window, click Queries under Objects.
    2. In the right pane, double-click Create query in Design view.
    3. In the Show Table dialog box, click Close.
    4. On the View menu, click SQL View.
    5. 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'));
      
    6. On the View menu, click Properties.
    7. In the Query Properties window, set the Record Locks property to Edited Record.
    8. Close the Query Properties window.
    9. On the File menu, click Save.
    10. In the Save As dialog box, type Qrytest, and then click OK.
    11. On the File menu, click Close.
    Access 2007
    1. On the Create tab, click Query Design in the Other group.
    2. In the Show Table dialog box, click Close.
    3. On the Create tab , click SQL View in the Results group.
    4. 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'));
      
    5. In the Properties Sheet window, set the Record Locks property to Edited Record.
    6. Save the query as Qrytest.
  5. Double-click Qrytest to run the query.
  6. Modify the Order Date field for the record with OrderID 10692.
  7. Start another instance of the Northwind database.
  8. Double-click Qrytest to run the query.
  9. 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.

↑ Back to the top


Keywords: KB824173, kbprb, kbuser, kbquery, kbdisplay, kbstoprespond

↑ Back to the top

Article Info
Article ID : 824173
Revision : 3
Created on : 4/9/2007
Published on : 4/9/2007
Exists online : False
Views : 266