Outlook contacts have both "Save and Close" and Cancel "X" buttons that
save/cancel the edits of a contact record. I just now built the Access
Template "Contact Management". I am new to Access so I don't know all the
features, but when I open an existing contact record, make a few edits,
hit the cancel "X" button, then open the record again, the edits have been
recorded. This is very different behavior from Outlook. A cancel "X" in
Outlook does not record the edits to a contact record.
Hum..what version of outlook? In my version when you hit the "X", you get
prompted for a save. And, by this "X" I mean the upper right hand corner
that virtually all open windows have. So, in outlook if you do edit the
record, and then hit the "X" in the upper right corner..then in fact outlook
DOES prompt for a save. So, this is a bit different then access. However, I
was trying to point out that hitting "save and close" on a outlook form is
the same as hitting "X" on a access for. And, further, if you do hit the
upper right "x" to close in outlook...you will be prompted for a save. (so,
yes..that is different behavior then ms-access...but if at this point you
hit yes..then the results are the same as ms-access). However, I don't see,
or am not aware how hitting the "X" in outlook does a cancel?
Hitting Ctl-Z several times will back out the edits of an Access record,
so I'm guessing there is a way to add a Cancel button to back the edits as
well, but it appears from this thread it is not easy to implement.
Actually, as mentioned, it is VERY easy to implement a cancel, but NOT if
you have a sub-form. So, my point is that 99% of users preference to hit a
save and close button. This "save and close concept is available in outlook
via the save and close button, and in ms-access it is the default when you
close a form. So, in ms-access, you can have a close button, or allow users
to hit the hitting the upper right X. Further, I have NEVER know the "X" to
be called a cancel button here??????
Anyway, the problem here is that if you start building those annoying
prompts "do you want to save", is that you then train users to expect that
when they close a form..they get a save prompt. And, you further train them
to assume that they can answer "no" to NOT save what they have done. Up this
point, you can for basic ms-access forms implement this setup very easily.
However, if you start using some sub-forms in your design, then this whole
model breaks down. The reason why it breaks down is because the main record
has to be saved before you can edit sub-form records. So, the user is going
to associate the concept of closing a form with saving what they see. They
will assume that hitting X will allow them to bail out of all the changes to
a screen. The problem is with a sub-form you can't do this..as the main form
gets saved when you go to the sub-form. So, now you edit data in the
sub-form..what happens when the user now hits the X? They will not get
prompted to save..since the record already is saved..and, they will not have
a option to bail out.....as it is too late. So, since we can't attach the
un-do to both the form and the sub-form, then prompting to save will not
make sense here...will it?
Further, in my opinion is it silly to torture users all day long with save
prompts. Give your users a un-do in the menu. And, I was also pointing out
that since we can't cancel the whole form changes (with a sub-form), then we
can't really use the save button when you have a sub-form..and to be
honest...I kind like this fact..since then ms-access is forced to work the
way I think it should!!!
The standard "edit" menu does have a cancel (and it is the same as the
ctrl-z that you pointed out). I generally steal those menu items even for my
own applications (so, yes, you should include the un-do edit options in YOUR
applications also). If you take a look at the following ms-access menus
(scroll down to the last screen shot), you will in fact that did put in the
un-do options (I just coped the built in ones).
http://www.attcanada.net/~kallal.msn/Articles/UseAbility/UserFriendly.htm