Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

FIX: A record in a linked SQL Server 2000 database table is not correctly updated when you modify the record in an Access 2003 database table


View products that this article applies to.

Symptoms

When you modify a record in a Microsoft Office Access 2003 database table, the record in the linked Microsoft SQL Server 2000 database table is not correctly updated. Instead, the new data is recorded in the wrong record.

This problem occurs when the record that you modify is displayed as part of the recordset that is returned by a query. For example, the record might be displayed in a subform.

↑ Back to the top


Resolution

To resolve this problem, obtain the latest service pack for Office 2003. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
870924� How to obtain the latest service pack for Office 2003

↑ Back to the top


Workaround

To work around this problem, use one of the following methods.

Method 1

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

Programmatically select the last record in the recordset and then the first record in the recordset when the recordset is displayed. To do this, use code that is similar to the following example.
Set rs = Forms![Database].Recordset

rs.MoveLast
rs.MoveFirst

rs.FindFirst ("[Keyfield ID] = " & Me.[Keyfield ID])

; Note that "Keyfield ID" is the field name for the key field 
; that is used to index the recordset.
; Substitute the name of the key field in your
; application for "Keyfield ID."
Note This code produces the same results as manually moving the selection to the last record in the recordset and then back to the first record in the recordset.

Method 2

Use an SQL statement instead of an Access 2003 query to create the recordset.

↑ Back to the top


Status

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Microsoft Office 2003 Service Pack 2.

↑ Back to the top


Keywords: KB903074, kbbug, kbprogramming, kboffice2003sp2fix, kbqfe

↑ Back to the top

Article Info
Article ID : 903074
Revision : 9
Created on : 7/28/2006
Published on : 7/28/2006
Exists online : False
Views : 306