This question refers to a main form with a continuous form subform.
After an error occurs after entering several records in the subform, how can I
delete all the data in the main form and all the records in the subform? I have
tried undoing both the main form and the subform and I have tried deleting the
record in the main form.
The first thing to be aware of is that you are NOT storing data in the
form. The form is just a tool to let you update data in the Tables -
and it's from the Tables that you need to delete the data!
Secondly, the way a Subform works is: as soon as you set focus to the
subform, the mainform record is written to its table. As you move off
of each subform record, *that* record is written to its table; when
you leave the subform, the last record on the subform is likewise
written to disk. It's too late to "undo" anything, it's already been
done.
What you will need to do is run a Delete query to explicitly delete
all the records in the table bound to your subform; or, go into the
Relationships window and select (or create, if it's not there!) the
relationship between the mainform's table and the subform's table.
Check the "Enforce Referential Integrity" checkbox if it's not already
checked, and check the "Enable Cascade Deletes" checkbox. Now when you
delete a record on the mainform, it will warn you once, and then
permanently and irrevokably delete that record *AND* all the related
records.