ACC: Referential Integrity Error Message with Shared Databases (132139)



The information in this article applies to:

  • Microsoft Access 2.0
  • Microsoft Access for Windows 95 7.0
  • Microsoft Access 97

This article was previously published under Q132139

SYMPTOMS

When you share a database in Microsoft Access and try to update a record that another user has already updated, your update is not successful, and you receive the following error message:
Data has changed; Operation stopped.
After you click the OK button, you receive the following write-conflict error message:
This record has been changed by another user since you started editing it. If you save the record, you will overwrite the changes the other user made.

Copying the changes to the clipboard will let you look at the values the other user entered, and then paste your changes back in if you decide to make changes.
   You can choose one of three option buttons:

      Save Record
      Copy To Clipboard
      Drop Changes
				

If you choose Save Record, Microsoft Access does not update the record, and you receive the following referential integrity error message:

In Microsoft Access 97:

The Record cannot be deleted or changed because table '<Table Name>' includes related records.

In Microsoft Access 2.0 and 7.0:

Can't delete or change record. Since related records exist in table "<Table Name>", referential integrity rules would be violated.

CAUSE

You have a one-to-many relationship between your tables where the Enforce Referential Integrity option is turned on and the Cascade Update Related Fields option is turned off.

RESOLUTION

To work around this problem, modify the one-to-many relationship to select the Cascade Update Related Fields option.

STATUS

Microsoft has confirmed this to be a problem in Microsoft Access version 2.0, 7.0, and 97.

MORE INFORMATION

Steps to Reproduce Problem

NOTE: Make sure that the Exclusive option is not selected in the File Open dialog box.
  1. Open two instances of Microsoft Access. In each instance, open the sample database Northwind.mdb (or NWIND.MDB in Microsoft Access 2.0) for shared access.
  2. In each instance, open the Categories table in Datasheet view.
  3. In the first instance, change the Description field in the first record. Do not commit the change.
  4. In the second instance, change the Description field in the first record. Go back to the first instance and commit the change by moving the pointer to the next record. Then come back to the second instance and commit the change by moving the pointer to the next record. Note that you receive the following error message:
    This record has been changed by another user since you started editing it. If you save the record, you will overwrite the changes the other user made.
  5. Click Save Record. Note that you receive the following error message:
    Can't delete or change record. Since related records exist in table "<Table Name>", referential integrity rules would be violated.

REFERENCES

For more information about Cascading Updates, search the Help Index for "Cascading Updates," or ask the Microsoft Access 97 Office Assistant.

Modification Type:MajorLast Reviewed:5/7/2003
Keywords:kbbug kberrmsg kbusage KB132139