BUG: Error "Row Cannot Be Located for Updating" If You Change Numeric Field in ADODC Recordset (300586)
The information in this article applies to:
- Microsoft Visual Basic Enterprise Edition for Windows 6.0
- Microsoft Visual Basic Professional Edition for Windows 6.0
This article was previously published under Q300586 SYMPTOMS
If an ActiveX Data Objects data control (ADODC) is bound to a Microsoft Access table that specifies a default value for the numeric field, when you take the following actions:
- Add a new record to the ADO recordset, which the ADODC exposes, without entering a value for that numeric field.
- Update the recordset.
- Type a value into the numeric field (either directly into the Recordset field or into the corresponding DataGrid cell) in that same newly-added record.
- Update the recordset again.
the following run-time error is raised with error number -2147217864 (80040e38) or 6153:
Row cannot be located for updating. Some values may have changed since it was last read.
If a DataGrid control is bound to the ADODC, the same error message usually appears a second time without an error number in a dialog box that is entitled "Microsoft DataGrid Control."
RESOLUTION
To resolve this problem, remove the default value that is specified for the numeric field in the Access database table.
Alternately, you can run an UPDATE statement on a separate ADO Connection object to update the numeric field in the newly-added record directly in the database and then refresh the ADODC.
STATUSMicrosoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
Modification Type: | Major | Last Reviewed: | 6/25/2001 |
---|
Keywords: | kbbug kbDataBinding kbDSupport kbJET KB300586 |
---|
|