3022 Question
Mar 2, 2007
I am working with an unbound form, with fields populated by an updateable query.
User may edit the fields, then attempt to save changes, done with a simple recordset based on the same query.
I trap 3022 upon Update.
I would like to know if there is a good, clean way to set the focus back to the field which caused the 3022.
Any help much appreciated.
Edit: Or, a good way to determine which field is the offending one. Thanks.
View Replies
ADVERTISEMENT
Feb 14, 2007
Hi there
I am using a select query meanz no modification at all but still getting the error 3022(The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. (Error 3022))
Anybody have any clue?
Thanks
Danny
View 7 Replies
View Related
Jul 31, 2005
My table has an auto generated key as a string.
So on the offchance that two clients are trying to autogenerate a key at exactly the same time, I'm trying to trap the 3022 error raised when a duplicate key is entered so that I can repeat the operation with a goto.
I'm raising the error with requery like this:
DoCmd.Save acForm, Me.Name 'next line triggers 3022
DoCmd.Requery
After I realised that the normal handler wouldn't trap it I got the database from this thread:
http://www.access-programmers.co.uk/forums/showthread.php?t=77529&highlight=3022
But it doesn't seem to work for me:
http://www.imagedump.com/index.cgi?pick=get&tp=288631
Anyone?
View 12 Replies
View Related
Aug 6, 2006
Hi,
I have a rather large database that was built in Access '97 and recently converted to 2003. I have a couple problems now. I get an error message about not being able to update the form because it would create a duplicate value in the primary key, index, or relationship. (Error 3022) I didn't build this particular database so I'm not totally sure why somethings are done the way they are. I've spent a long time going through everything to try to understand the relationships and I've asked lots of people at work to look at it, but no one seems to understand why it's doing what it's doing. The Access Help information has helped me understand some things better, but not this problem. I've gone through every table and removed all primary keys and set all indexes to allow duplicates. Then, when I was looking at the relationships and object dependancies, I think everything looks to be in order. However, when i add info directly to the table instead of using the form, the form is not updated with the new info. the table keeps the information, but isn't communicating with the form and i suspect reverse is true which is where the error is coming from. But how do I detect that for sure and how can I fix it with out starting over? I've gone through and added data to one field in the form at a time to try and narrow down what field is causing the problem, but no matter what i get the same error. Is there a way to find out exactly what field is causing the error? Thanks for any help you can offer!
Alicia
View 3 Replies
View Related
Mar 1, 2007
Just when I thought I had my problem licked...
I created a subforum with an updateable query, and this works. I can view the results of the query, modify them and add new records.
However I shortly realized that once I deleted a record (either by some VBA code, or by SQL) that I could not re-add the same record through the subform.
I've made sure that the record is deleted, so there is no duplication of the key.
I've made sure that Index is Duplicates OK, so there is no duplication issues there.
What am I missing?
View 9 Replies
View Related
Mar 27, 2008
I dont use linked tables very often, and when I always seem to run into the same problem.
I have two tables. The pri table has an index key defined as an autoindex, with no duplicates. The sub-table is linked to the pri
table key in a many-to-one relationship. The linked field in the subtable is defined as a long integer non-keyed field.
All is okay, until I attemp to add a SECOND record. At that point I get a 3022 error, stating I cant do something because I am attempting to create a duplicate key.
I would love to fix it, nut I am not sure exactly what the problem is that needs to be fixed. The pri key would not SEEM to be getting duplicated, and the subtable linked field is not keyed. Hmmm, I guess I need a steer here please.
eatc7402
View 1 Replies
View Related
Dec 1, 2014
I have an Access 2010 database with a form that allows me to input data which is saved into two tables (i.e. Orders and OrderDetails). I use a simple select query to bind the form to the tables.
When the form loads it asks for an order number, which it uses to pull details from the Orders table and auto-fill some fields on the form (these fields are not enabled as they are predefined, such as the order date).
So, when the order number is entered my VBA code does a Form.Refresh, which then breaks the code with the Run-time error 3022 - "The changes you requested to the table were not successful yada yada.." (I'm sure you all know the one)...
I have checked that there are no duplicated keys in my tables, I have checked that what should be indexed, is indexed. I have done a compact and repair on the database, and even created a new database and imported all the tables (used new data). Still get the same issue.
View 8 Replies
View Related
Aug 3, 2006
Okay, I'm kind of stumped here.I have a subform that has a button that sends a user to a "sibling" subform on another tab page, pass some information to ensure they are adding more details to the same records rather than creating two separate record.First time I programmed it, I got an error 3022 (keys cannot have duplicate values). I checked the query of the sibling subform and saw that the ID is from the one side table. I changed it so many table's foreign key is used. Second try, I got an error 3341 (there isn't a matching key in one side table).After some thinking, it also occured to me that I had set the query this way to allow addition of new record which wouldn't be possible if I had the query pulling the many side key, not the one side key.How do I get the subform to accept the ID that is being passed and create a new record using that ID?:confused:
View 5 Replies
View Related
Dec 18, 2006
hi guys i was wondering if you can help me this is my code: i have a main form with this code, this form contains a subform linked by the All_PricingID
Set rst = CurrentDb.OpenRecordset("tblAll_Pricing") 'main table
' adding data to the table
rst.AddNew
' Main table
rst!All_PricingID = Me.txtPricingID 'Main table pk
rst!MainContract_ID = Me.cmbMainContract 'combo box in parent form
rst!ItemNumber = Me.txtItem 'Main form text
rst.Update
'sub Table
Set rst2 = CurrentDb.OpenRecordset("tblPricing") 'sub table
For varItem = 0 To Me.lstsubContracts.ListCount - 1 'this is a list in the main form
'--- loop through all the items in the list box and create a new row in the subform for each subcontract in the listbox lstSubcontracts.
rst2.AddNew
rst2!ID = Me.All_PricingID 'sub table foreign key
rst2!SubContractID = Me.lstsubContracts.Column(0, varItem) 'sub table
rst2.Update
Next varItem
'--- close the tables
rst.Close
rst2.Close
Set rst = Nothing
Set rst2 = Nothing
the subform appears correctly with the rows i wanted added but i need the user to be able to edit a column in the subform for the rows just created (my form is on datasheet view). but everytime i move to cursor into the subform, i can't even scroll up and down.
i keep getting an error that says :
The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. (Error 3022)
but when i check my tables tblAll_Pricing and tblPricing , everything is inserted correctly according to my recorset above, do you know why this is happening? and why i am not able to edit my subform. my subform allowsedits and additions.
help!!
View 2 Replies
View Related