Case(ProductID=1362; Quotes::Total Weeks;
ProductID=1119; (Quotes::Core_m*Quotes::Percent Livingstone)*2;
ProductID=1642; Round(Quotes::Total Weeks*((Quotes::Water Depth_m+6)/1.5)+.499999999;0);
As far as I know there is no effective limit to the number of Boolean expressions you can use in Case, but this does look like something better off implemented with a table look up instead.
Consider the following related table used to to replace the above case function:
ProductID Expression (Field of type text)
1362 Quotes::Total Weeks
1119 Quotes::Core_m*Quotes::Percent Livingstone * 2
1642 Round ( Quotes::TotalWeeks * (( Quotes::Water Depth_m + 6 ) / 1.5 ) + 0.499999999 ; 0 )
Then you can add a text field, Expression to your original table that looks up the Expression text and then this calculation will replace your Case function:
Evaluate ( Expression )
(You can also forgo the looked up value field and just use: Evaluate ( RelatedTable::Expression ) , but then subsequent changes to expressions in this table will change the computed value in existing quotes--which is probably not what you would want here.)
Thanks that formula is the piece I was missing!