>Before any saving from anywhere on the form (include functional keys, toolbar buttons, menu items from menu)
I think you made an important point here, and I want to emphasize it a bit. Your data forms should have one save method which is called every saving mechanism your user has access to. Including like Vlad said, "function keys, toolbar buttons, menu items," and also your form's save button if it has one, and if you have code in the form unload which does something like:
if [change made]
lnMsgAns = messagebox("You made changes, save them",YesNoCancelQuestion)
if lnMsgAns = MsgYes
ThisForm.DoSave()
Rich Addison, Micro Vane, Inc., Kalamazoo, MI
Relax, don't worry, have a homebrew.
- Charlie Papazian, The New Complete Joy of Home Brewing