Microsoft KB Archive/245676

From BetaArchive Wiki
Knowledge Base


ACC2000: Records Newly Inserted into Access Database Are Not Immediately Available When Reselecting

Article ID: 245676

Article Last Modified on 4/7/2006



APPLIES TO

  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.1 Service Pack 1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 97 Standard Edition



This article was previously published under Q245676

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

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

For a Microsoft Access 2002 version of this article, see 291238.


SYMPTOMS

When inserting records into a Microsoft Access database, immediately attempting to reselect them occasionally does not return all inserted records. This occurs even when the records are inserted and reselected on the same connection.

The problem described in this article affects the Microsoft Jet engine's ability to locate data stored in the connection's cache. The Jet engine examines changes stored in the connection's cache when processing a query. As a result of this problem, running a query on that same connection may not retrieve all of the newly inserted data that satisfy the query's search criteria immediately after adding new rows to your database. After applying this hotfix, that query correctly retrieves all rows in the connection's cache that satisfy the query's search criteria.

Important information:

To increase performance, the Jet engine stores modifications in its cache prior to writing the changes to the file. As a result, modifications currently stored in the connection's cache are visible only on that connection. Other connections are unable to see these changes until the Jet engine flushes them to the database. Note This behavior is normal and is not related to the problem described in this article.

CAUSE

Internal to Jet, the seek methods used to locate the inserted records are occasionally accessing uninitialized memory and picking up incorrect values. Based on these incorrect values, the attempt to locate the appropriate record fails.

RESOLUTION

To resolve this problem, install the latest Microsoft Jet 4.0 service pack. To download the latest Microsoft Jet 4.0 Service Pack, see the following article in the Microsoft Knowledge Base:

239114 How To: Obtain the Latest Service Pack for the Microsoft Jet 4.0 Database Engine




STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was corrected in Microsoft Jet 4.0 Service Pack 5 (SP5).


Additional query words: jet insert select reselect immediately available records missing same connection

Keywords: kbbug kbfix kbqfe kbmdac210sp2fix kbaccess97fix kbaccess900fix kbhotfixserver KB245676