Normally, record values are assigned to textboxes for edit then assign the values back to the fields for updating, is it possible that that causes the error?thanks for the help, I really appreciate it." id="ctl00_m_m_i_ctl00_gr_ctl03_bestanswerbody" class="textarea-bestanswerhidden" name="bestanswerbody" answerbody Id="742834" / shuggi_e, yes, i used My SQLQuery Brower to retrieve the data and can even update it.thanks for the comments/suggestion you can give me." id="ctl00_m_m_i_ctl00_gr_ctl05_bestanswerbody" class="textarea-bestanswerhidden" name="bestanswerbody" answerbody Id="745276" / Hi to all again, I tested the vb codes again and found out that the error is when I assign a value coming from a textfield back to the recordset field which has a data type of double(12,2) in the database.Now, eventhough I know this I still can't get it to work. The bottom line is that ADO implements updates by action queries it generates both from data in the row and the dataset's metadata it gathers from the OLE DB Provider.Since an updatable client-side Recordset has a dynamic property named Update Criteria which defaults (ad Criteria Upd Cols) to using the original values of the modified fields as well as the values of the key fields in the WHERE clause of the query-based update, defaults can invalidate the action queries and generate the infamous 'specified row cannot be located' error.If not, all fields are used and if there is no uniquness between records, you will get this error.With JET mdb, you need to include this unique field with the recordset.
Let's look at a quick and dirty example of an update operation: str SQL = "SELECT Customer ID, Company Name, Balance Due FROM Customers" rs Customers. Open str SQL, cn Database, ad Open Static, ad Lock Optimistic, ad Cmd Text rs Customers. ADO retrieves the results of the selection query and copies the data into the ADO Cursor Engine.mick yes, i used My SQLQuery Brower to retrieve the data and can even update it.I did another test using Visual Basic, selected the record using the same connection string, bind a grid to the recordset and I can edit the record from the grid or straight from the recordset without errors.First of all, even though this has nothing to do with the problem, the Cursor Type ad Open Keyset is not used for a client side cursor and gets changed to a Static cursor.Also, make sure you use ad Lock Batch Optimistic as the lock type, and when updating, use Update Batch, or Action queries, but NOT a mixture of the two. I think it is time (in this forum) to go into this a little deeper, maybe more than you are asking for, and getting slightly off track to the exact solution to your problem, as this deserves more of an explaination now due to the question, or similar question/problem, comming up so often, especially for JET mdb users.