@Kingz You say you are a beginner. then as the others have said, let Access be Access. You are using a RAD (Rapid Application Development) tool. It does things for you. You don't want to prevent the record from being saved, you want to make sure that only a "correct" record gets saved.
As the first reply told you, the form's BeforeUpdate event is your friend. Think of this event as the flapper at the bottom of a funnel. If the flapper is open, the record gets saved. If the flapper is closed, the record does not get saved.
Generally, your validation will report errors to the user and than use "Cancel = True" to tell Access to not save the record at this time. Setting this property leaves the form dirty so Access is always going to want to save it and every time the user does something that makes Access want to automatically save the record, the form's BeforeUpdate event will be executed and your validation code will run. If the errors have not been corrected, the record will NOT be saved and the user will not be allowed to close the form.
If you want to give the user the option to abandon his changes, then you can do that and you would then use "me.Undo" to backout all the changes. Access will then allow you to close the form and the changes are discarded.
You keep telling us you are getting errors and don't understand, well, we're good but we cannot help if you cannot show us your code and tell us the error you get or what is happening or not happening.
You seem to be confused regarding events. The database that goes with the video should help you to understand events and the order in which they fire and what triggers them. Once you understand what "triggers" an event, you will understand what type of code makes sense in each event. Code that you would put in the form's Current event (runs each time a form moves to a different record) wouldn't make sense in the form's Dirty event (runs as soon as you type a single character into any control on a form but only runs once).
Once a record is "dirty" (someone has made a change to at least one control), Access takes it as a personal mission to ensure that the record gets saved. You have no reason to fight this. You just need to put validation code in the form's BeforeUpdate event to ensure that all required fields are filled in and that data values that you can validate make sense. For example, you should ALWAYS validate dates for sanity. 1/1/204 is a valid date as far as Access is concerned but it is almost certainly a typo. Unless you have a form where you are entering historical data, most dates should be within a short time in the past or default to today. Some dates will be in the future. For example, if you have an expiration date, it is probably 1 month, 1 year, etc in the future.