Article ID: 301474 - View products that this article applies to.
This article was previously published under Q301474
Moderate: Requires basic macro, coding, and interoperability skills.
This article applies only to a Microsoft Access database (.mdb).
When you try to save design changes to a new object, or when you compact a database, you receive the following error message:
Additionally, you may see the database object listed in the Database window, although the save attempt failed. However, when you open the object, you receive the following error message:
The search key was not found in any record.
The Microsoft Jet database engine cannot find the object <object name>. Make sure the object exists and that you spell its name and path name correctly.
This behavior occurs under one of the following circumstances:
To resolve this problem, obtain the latest Jet 4.0 service pack. For additional information about how to download the latest Jet 4.0 service pack, click the following article number to view the article in the Microsoft Knowledge Base:
(https://support.microsoft.com/kb/239114/ )How to obtain the latest service pack for the Microsoft Jet 4.0 Database Engine
Microsoft has confirmed that this is a problem in Microsoft Jet 4.0 SP5.
This problem was corrected in the latest Jet 4.0 service pack.
The default workgroup file (System.mdw) that is installed with Microsoft Access is created with a pre-SP5 version of Microsoft Jet 4.0. Therefore, the problem occurs if you create a database by using this workgroup file, and then later join a workgroup file that is created with Microsoft Jet 4.0 SP5.
The Microsoft Jet database engine uses a security ID (SID) to uniquely identify user and group accounts. A SID of the account is determined by an encrypted combination of the user name and personal ID that is used to create the account.
This problem occurs when the SID of the Engine user account in the current workgroup file does not match the SID of the Engine user account that is used to create the database. The SID generated for the Engine account in workgroup files that are created with Microsoft Jet 4.0 SP5 differs from the SID generated for the Engine account in previous releases of Jet 4.0.
The Engine user is a special account that is used internally by the Jet database engine, and is not exposed through the Microsoft Access user interface. However, when the SID of the Engine account in the workgroup file does not match the SID of the Engine account that is used to create the database, the Jet engine does not recognize them as the same account. Therefore, you cannot save design changes made to new objects. However, you can save design changes made to previously existing objects.
For Microsoft Access-specific objects, such as forms, reports, macros, and modules, the object incorrectly appears in the Database window, although it is not actually saved. When you try to open one of these objects, Access returns an error message that it cannot find the object.
Steps to Reproduce the Behavior
Article ID: 301474 - Last Review: July 28, 2004 - Revision: 3.0