The recordsource IS the FandBCostingTable. The control sources are indeed
field names from the table.
For example, I calculate the cost for meal 1 - all subtotals are totaled in
"Meal1Total". Meal1Total is the control source for "AdultMeal1". It all
totals correctly, with the # (eg.$47.00) in Meal1Total appearing on the form
in "AdultMeal1". When I look at the table data, AdultMeal1 shows "$0"
You can't have it both ways! Either the textbox's control source is a
fieldname or it's a subtotal expression. It can't be both.
And you should NOT be storing the totals *anywhere*. Storing derived data such
as this in your table accomplishes three things: it wastes disk space; it
wastes time (almost any calculation will be MUCH faster than a disk fetch);
and most importantly, it risks data corruption. If one of the underlying
fields is subsequently edited, you will have data in your table WHICH IS
WRONG, and no automatic way to detect that fact.
Just redo the calculation whenever you need it, either as a calculated field
in a Query or just as you're now doing it - in the control source of a Form or
a Report textbox.