Why is it required?

The transactionrecordset represents an unified way to pre-fill a form with the default values (either on insert or on update) and to keep the values submitted when an error was thrown in the executing Transaction. This way, the form can be easily refilled with the already entered values, directly from the recordset.