Insufficient key column information for updating
It kinda makes sense what it is doing, you selected data from three tables into a recordset, when you delete a row from the recordset, it tries to delete from all the base tables. I suspected that as the problem, so just as a test, I changed the querey to be a very simple one. John Poe Since the user would delete records very rarely in my program, I created a delete procedure that opens a separate recordset containing just one table, then I moved to the record that I want to delete and deleted it. My guess is this is NOT the functionality you are looking for. I never found a way to do this through the datagrid, I ended up doing the deletes myself. I guess that the best solution would be to open a new recordset containing only the primary table and then delete from there. I'm getting this same problem - also with a complex SQL statement - a join of two tables.I was getting the msg:insufficient key column information for updating and refreshing. I was loading combo boxes which I learned how to do on Tek Tips thank you very much. Recordset Dim con String As String Dim s Code As String Dim s Elig As String Dim s Elig2 As String Dim s Need As String Dim s Need2 As String Set ado Combo = New ADODB. Move Next Loopcbo Pgm Code = s Code'LOAD Eligibility CODESado RS4. Open "[Needs]", ado Combos Need = cbo Needs Need2 = cbo Need2Do Until ado RS5. OLEDB.4.0;" _ & "Data source= C:\VB Practice\z GDS_Data_V6_1_2k.mdb" 'LOAD PROGRAM CODESado Combo. Open "[Program Codes]", ado Combos Code = cbo Pgm Code Do Until ado Rec. Open "[Eligibility]", ado Combos Elig = cbo Eligibilitys Elig2 = cbo Elig2 'Do Until ado RS4.
I want, after adding that record, to check what was the new sequence number (= identity, autonumber).
User ID End With ' By the time we reach this line, rs("OBJECT_ID") is Null. Update ' This line causes the error, with or without the ad Affect Current parameter. Resync ad Affect Current ' Wrong number :-( b = rs("OBJECT_ID"). Uri I have seen this error when using an SP to fill a recordset that has a JOIN in it and name setting the "Unique Table" property: Set rs Data = New ADODB. Cursor Location = ad Use Client ' for updateable data only With . I have made sure to to keep the column names different...
This is the error: Run-time error '-2147467259 (80004005)': Insufficient key column information for updating or refreshing. It happens when the recordset is based on tables where the Primary Key of one table has the same name as a column name of the other table.
Well I decided to get fancy and try and load two combos at once.
I am building an Application form and a few of the combo options that apply to the applicant also apply to the spouse (ie. So I figured what the HEY since they are coming from the same table I'll load the Applicants combo and the Spouse's all at the same time. As proof of my dum-dum move here is the code: Public Sub Load Combos()Dim ado Combo As ADODB. Thanks for your answer, any chance you could like a page showing that form of delete syntax in use on a Linked server, I can't seem to make it work.