Four tables are joined with an M:N table that contains nothing except the RecordIDs from the related tables. Running the resulting query from the query designer yields a datasheet view which is updateable.
Running the query using a macro in the form load event yields an updateable recordset.
Copying the SQL code created by the query designer into VBA to open a recordset into a form yields an unupdateable recordset, using the form load event.
Dynaset (Inconsistent Updates) in the form's recordset type property makes no difference
Use of outer joins in place of inner yields duplication
The solution offered in Question ID 21565049 is the next step, which is to use append and update queries to update the data. This will introduce more complexity than should be necessary.
If the query is updateable as a macro or in the datasheet view, I think it should be using an ADO recordset. So I believe I am overlooking something simple. The related VBA source is attached. A graphic of the join is also attached. With little experience and a little book learning, I would like to make sense of this before using a workaround.
Thank you for your help.