I'm guessing this conversation was started because you don't know how to control whether or not a new or changed record gets saved. So, you posted a form and a method that YOU think is the solution and asked how to implement it. The generous experts are helping you to implement YOUR solution. All the suggestions require a lot more work than doing this the "Access" way. So far no one has suggested trying to use Access to solve the problem rather than create a complex solution. So, being lazy and not being inclined to write code I don't need to write, I will.
Perhaps if you familiarized yourself with the Form's BeforeUpdate event you would understand that you, with simple validation code, have absolute control over whether or not a record gets saved. This event is the LAST event that runs before any record gets saved. It CANNOT be bypassed. That is why your validation code belongs here. You validate the record and if it is incomplete or has invalid data, you use:
Cancel = True
To tell Access to not save the record. Then you exit with a message to the user regarding the field with the error and ask him to fix it.
PS, if you are going to use unbound controls to add a new record, I would put them at the top of the form rather than the bottom. Also sort your subform descending so the newest record will show up on the top line after it is entered.