Your program is riddled with errors.
The first thing I discovered is the text "requery" of the Saleman textbox (combo220) AfterUpdate event. That has no meaning in Access. To requery you have to name the object you want requeried.
Your naming convention is really bad. Look up the "Hungarian Naming convention." Its in most VB/VBA books.
Yoou need to make Contract No. (PCNO) on your main form unbound and change it to a combobox, which selects a filter for your records. Then add code for the NotInList event to add new contract number. Set the form filter to PCNO and set the form filter property on, then the form timble with a new contract no.
Its hard to tell what you really want to do, but that at least makes your form and subform tumble to a specific contract.
You're really asking a lot for someone to straighten your code out. At least it looks good, even if it doesn't work.
I've attached a zip of my simple chages changes. Look at the PCNO AfterUpdate event code; that's what I changed. Maybe that will help. It appears you really don't have a good grasp of Access and just dove in. But then we all operate that way. Access is usually very forgoving and there's always a way to get something done.
I think my change is what you want.