By "changes in the form", are you referring to values in the form's controls? If so, you have a misunderstanding. The Save parameter on Close refers to changes in the
design of the form, not to changes in the record displayed on the form. Any record changes are
always saved when you close the form.
If that's your problem, you can probably fix it by adding two lines to the macro before the Close action. In both lines, use the following macro parameters:
Code:
Condition: Forms![<formname>].Dirty
Action: RunCommand
Command: Undo
You need to do the Undo twice, because the first one may only back out changes to the current field. The second one will then back out the rest of the fields. If the current field wasn't changed, but another field was, the first Undo will back out all the fields, and the second Undo will be skipped by the condition. If no fields were changed, both Undos will be skipped, but no record save will occur anyway because there were no changes. Rick Sprague