Silent design changes may be discarded in a multiuser environment in Access 2002 (285828)



The information in this article applies to:

  • Microsoft Access 2002

This article was previously published under Q285828
For a Microsoft Access 2000 version of this article, see 237938.

Advanced: Requires expert coding, interoperability, and multiuser skills.

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

SYMPTOMS

Silent design changes (minor design changes) that are made to Microsoft Access-specific objects, such as forms, reports, macros, modules, or commandbars, may be discarded without warning.

CAUSE

The database has been opened by multiple users, and Microsoft Access cannot obtain an exclusive lock on the database.

STATUS

This behavior is by design. In order to save design changes to any Access-specific objects (forms, reports, macros, modules, PivotTable lists or charts, and commandbars), Access must be able to obtain an exclusive lock on the database. If the database is currently in use by multiple users, Access cannot obtain an exclusive lock and cannot save the design change.

MORE INFORMATION

For additional information about Microsoft Access requiring exclusive locks for saving design changes, please see the following article in the Microsoft Knowledge Base:

283228ACC2002: Exclusive Lock Required for Saving Design Changes to Access Objects

Because all design changes require an exclusive lock in order to be saved, Microsoft Access may not warn you if the design change cannot be saved at the current time. If Access considers the design change to be a "major" change, such as modifying the design of a form, then you are warned if the design change cannot be saved at the current time because it cannot obtain an exclusive lock. However, if Access considers the design change to be a "minor" change, such as applying a filter to a form, then it silently discards the design change if it cannot obtain an exclusive lock. These two categories of design changes are known as "Major Edits" and "Minor Edits."

Major Edits

Major edits are design changes that Access must be able to save, or that it must warn the user about if the change cannot be saved until Access can obtain an exclusive lock on the database. This prevents the Access developer from losing design changes without any warning. The following is a list of design changes that Access considers to be major edits:
  • Modifying any Microsoft Access-specific object in Design view
  • Modifying the property sheet of forms open in Form view
  • Performing a Save As operation to create a new object from an existing object
  • Adding or removing references in the Visual Basic Environment
  • Changing project properties in the Visual Basic Environment
  • Creating or deleting custom commandbars
  • Modifying the control set of custom commandbars
  • Renaming, deleting, cutting, or pasting an object in the database window
  • Creating, modifying, or deleting custom groups in the database window
  • Creating, modifying, or deleting links to data access pages in the Database window
  • Modifying Pivot Tables and Pivot Charts in design view

Minor Edits

Minor edits are design changes that are silent in nature, and that are discarded if Access cannot obtain an exclusive lock on the database. This prevents users from receiving a warning that their design change cannot be saved when they make a minor modification. The following is a list of design changes that Access considers to be minor edits:
  • Applying a filter to a form, pivot table or chart
  • Applying a quick sort (A-Z, Z-A buttons) to a form
  • Changing printer settings for a form or report
  • Changing any formatting attributes of a form in Datasheet view (column width, row height, font name, color, freezing/unfreezing columns, etc.)
  • Changing the visibility or location of custom commandbars
  • Changing the source of an unbound OLE object frame in Form view
  • Changing the layout of the Database window (large icon, small icon, list, or detail view)
The following are two exceptions when Access does not discard minor edits when it is unable to obtain an exclusive lock:

  • There are other unsaved major edits pending.
  • You make an explicit attempt to save the object, either by clicking the Save command on the File menu or the Save button on the toolbar.
In both cases, Access treats the minor edit as a major edit. For example, if you apply a filter to a form in a database that is opened by multiple users, and then explicitly try to save the form, Access treats the save as a major edit and warns you that the object cannot be saved now because an exclusive lock could not be obtained.

Steps to Reproduce the Behavior

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.

  1. Start Microsoft Access.
  2. Open the sample database Northwind.mdb.
  3. Open the Customers form in Form view.
  4. On the Records menu, point to Filter, and then click Filter By Form.
  5. In the CustomerID field, type:

    LIKE "a*"

  6. On the Filter menu, click Apply Filter/Sort. Note that the form is correctly filtered to show only records where the CustomerID begins with the letter "a".
  7. Close the form. You do not receive a confirmation to save the form.
  8. Open the form in Design view.
  9. On the View menu, click Properties to view the properties of the form. Note that the Filter property of the form is set to the following:

    (((Customers.CustomerID) Like "a*"))

    This indicates that the Filter property of the form was saved silently after you applied the filter and closed the form.
  10. Clear the Filter property of the form.
  11. Close and save the form.
  12. Start another instance of Microsoft Access.
  13. Open the sample database Northwind.mdb in the second instance of Microsoft Access.
  14. Using the first instance of Microsoft Access, repeat steps 3 through 9.
When you view the Filter property of the form in Design view, note that it is blank. This indicates that Microsoft Access silently discarded the design change because Access could not obtain an exclusive lock on the database.

Modification Type:MajorLast Reviewed:8/11/2004
Keywords:kbprb KB285828