ACC: Main Form Record Edits Saved When Subform Gets FocusID: Q132033
|
Novice: Requires knowledge of the user interface on single-user computers.
When you navigate to a subform control, edits you make to a main form
record are automatically saved. Validation rules for the main form record
are evaluated and the BeforeUpdate and AfterUpdate events run.
If Microsoft Access did not save the main form record, it would be possible
to create detail records that do not have a corresponding parent (main
form) record. Creating detail records without a corresponding main form
record would violate referential integrity rules.
For example, in the sample database Northwind.mdb (or NWIND.MDB in versions
1.x and 2.0), in the Orders form containing an order detail subform (the
Orders Subform form) linked on a common Order ID field, if Microsoft Access
did not save the main form Orders record immediately, it would be possible
to create order detail records that are saved with an Order ID number for
an order record that does not yet exist in the Orders table. If a problem
were to occur and the main form order record could not be saved, there
would be "dangling" order detail records in your database.
This behavior is by design.
Microsoft Access does not group edits made to the main form record and to
subform record(s) in a single transaction. Edits to the main form record
are maintained in a single transaction. Edits to each subform record are
also maintain in their own separate transactions. Because Microsoft Access
does not group record edits you make in a main form and in the subform
in a single transaction, to maintain referential integrity, Microsoft
Access must save the main form record (commit the transaction) before
you can edit the subform.
For more information about transaction processing in forms, please see
the following article in the Microsoft Knowledge Base:
Q131535 ACC: Unable to Undo or Rollback Main Form and Subform
Changes
=MsgBox("Orders BeforeUpdate!")
For more information about referential integrity, search the Help Index
for "referential integrity," or ask the Microsoft Access 97 Office
Assistant.
For more information about BeginTrans, CommitTrans, and Rollback methods,
search the Help Index for "BeginTrans."
Keywords : kbusage FmsSubf
Version : 1.0 1.1 2.0 7.0 97
Platform : WINDOWS
Issue type : kbprb
Last Reviewed: April 23, 1999