@EL_Gringo Your validation code is in the wrong event. It is like closing the barn door after the horses have escaped. The record has already been saved with the bad data by the time the form's BeforeUpdate event runs. Doesn't matter that you put focus back in the control and raise an error message. If you just close the form at that point, the damage has been done.
Move the validation code to the form's BeforeUpdate event and use
Cancel = True
To stop Access from saving the bad data. Put that line after or before the SetFocus
Not all the code seems to be validation so leave the code you want to run AFTER the VALID record is saved in the AfterUpdate event.
Keep plugging on finding the error. I didn't see anything obvious in the code I read but having so much in Spanish (I think) interfered. Plus, I don't know what the forms that are being opened do.