I don't quite see why you need evaluate at all.
RelatedTable::FieldA + RelatedTable::FieldB
Evaluated ( "RelatedTable::FieldA + RelatedTable::FieldB" )
will produce identical results.
I didn't supply enough info. On tables Req_a etc, each record has a different equation that needs processing through an Evaluation. So, for say age = 6y & sex = m on Calc table, I'd want say record '6' from 'Req_a' evaluated in 'field X' on the 'IO' table.
I have wondered whether I should create IO::sex = Calc:: sex & IO::age = Calc::age and then relating IO to Req_a etc directly. However, I was wondering whether there was a more elegant method, just to save creating more fields.
Still doesn't read like something that needs the evaluate function.
age = 6y and sex = m
Sounds like data that can be used to match to a specific record via a relationship. That, might be done with ExecuteSQL or via a table occurrence in the relationships graph, but neither would make use of evaluate().
But I can't quite visualize what you mean by:
I'd want say record '6' from 'Req_a' evaluated in 'field X' on the 'IO' table.
and that may be why I still see no use for the Evaluate function here
Sorry, the Evaluation would take place in the IO::EvaluateEq field, to evaluate a calc stored as text in Req_a::Equations field. That equation might be something like: 24*Calc::kg+2.4*Calc::cm+104. So a particular Calc::Age & Calc::Sex, would cause selection of a specific Req_a::Equation record. That text equation would then be evaluated in IO::EvaluateEq.
I have tried using a calc field from the context of 'IO 2':
ExecuteSQL("SELECT Na FROM Reqs_EN WHERE Age_threshold>? AND Sex=? AND Std=?";"";"";Calc::Age;Calc::Sex;Calc::Std_EN)=".";"No Std";
ExecuteSQL("SELECT Na FROM Reqs_EN WHERE Age_threshold>? AND Sex=? AND Std=?";"";"";Calc::Age;Calc::Sex;Calc::Std_EN))
where field 'Na' is a text field (for the Evaluation). However, unless I narrow the search down to just Std vs Calc::Std_EN, I always get "?". Is there anything obvious missing from the syntax?