
Originally Posted by
jwhite
When editing data your form should have a RecordSource that is limited to returning data from a SINGLE table. I presume yours has all three in a query as the RecordSource. To edit data in other tables related to the main table, add a subform for each child table. Use the subform control Child/Master links to link the main form with the subforms.
Disagree entirely. It is quite common to base a form on a query, and IMHO is preferable to having subforms for singular tables. Subforms are for the many side of a one to many relationship, not for related one to ones. Given that we strive to normalize tables, it pretty much enforces the use of queries to meld together related data, and queries are the prime method for bringing tables together.
There's more than one reason a form can't be updated, one being that a form properties such as Allow Edits has been set to No. Another is the type of query. A Totals, Union or Crosstab query is not updatable IIRC. For me, the mantra is after tables come queries. If you can't gather, edit or delete the assembled data, then there's probably something wrong with the table schema or query design, notwithstanding query types just mentioned.
NOTE I'm not saying a subform isn't the proper solution in this case, give that there are 2 tables with many to many between them and a one to many on the other side. Just disagreeing with the statement that all forms should be based on one table.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.