If you edit any field of a form that is bound to a recordsource (i.e. table or updatable query) Access automatically updates the record if you close the form and won't prompt unless something the user did violates data integrity. That is how it works. Your pic shows a record hasn't been saved, and that is crucial to knowing what to do.
The correct event for this often depends on the process. Possibly, you can use the form BeforeUpdate event and test if a record has been edited and prompt if it has - if the user clicks the form window X. If for some reason, the record is already saved and the user closes the form, then form BeforeUpdate won't prevent creating a record - and that can be caused by clicking on a Save button. I think you'll need a 2 prong approach, but it depends on your db. Perhaps try this in the form BeforeUpdate event (air code - untested):
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim response As Integer
If Me.Dirty = True Then
response = MsgBox("Do you want to save this record?", vbYesNo)
If response = vbNo Then Cancel = True
End If
End Sub
That should prevent an unsaved record from being saved. If it still happens when user clicks on something else, you'll have to explain the process in more detail but pics won't be necessary. Likely the record will have to be deleted. If that hasn't worked thus far, then there is something wrong with the way that has been created.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.