It is quite easy to do what you ask if you do NOT use sub-forms.
however, ms-access is designed to save your data, and does so automatically
for you. ms-access is NOT at all like a word document, or a spreadsheet
where you work on a document..and then decide to save your work.
if you use a form, and a sub-form, then the instant your cursor or you click
on a control in the sub-form, the main data form is SAVED to disk for you.
The reason for this is that in a one to many relationship, you MUST first
add the parent record before you attempt to add child records to the child
table (in this case, the child table obviously the records in the sub-form).
So, the instant you move into the sub-form to add records, access will NOT
know which records these child records belong to unless the parent record is
saved. Thus, trying to place a "save" button on the form is really not much
of use if you have sub-forms.
However, if you do want to prompt the user, then the event you are looking
for is the BEFORE UPDATE event. You need place the following code in both
the forms before update..and also in the sub-forms before update....
Private Sub Form_BeforeUpdate(Cancel As Integer)
If MsgBox("Do you want to save ?", vbQuestion + vbYesNo) <> vbYes Then
Me.Undo
End If
end Sub