When the new record is inserted, Access needs to reselect the same record back to ensure it is added to the table. When the back-end is a Microsoft SQL Server 2000 database, Access correctly calls "Select @@IDENTITY" to verify the value of the PrimayKey (PK) of the record just added. The PK value returned is then used to reselect the newly inserted record.
If the back-end is SQL Server 7.0, the "Select @@IDENTITY" is not called. The PK value searched for is 0 (zero), and therefore the newly inserted record is not found.
Steps to Reproduce the Behavior
- Open the sample project NorthwindCS.adp.
- On the File menu, click Connection. Change the connection to the Northwind database on SQL Server 7.0.
- Create a main form that is based on the Categories table.
- Create a subform that is based on the Products table.
- Change subform's RecordSource property to Select * from Products.
- Open the main form in Form view, and then add a new record to the subform.