传统方法:(适用于 FileMaker 7 及更高版本)
传统上,在 FileMaker 中执行此操作的方法是创建与“_kf_resultID”和“类型”相关的 Coursework_Results 表的其他表出现次数。
1:在您的“结果”表中,为每种类型的 coursework_result 创建一个新的计算字段。让我们以“课业”为例。
- 将新字段命名为 _k_Classwork
- 使字段类型计算
- 将计算设置为文本类型
- 设置计算返回字符串“Classwork”
- 取消选中“不评估是否所有引用的字段都为空”
对“coursework_results”表数据中的每个“类型”重复此过程。
2:对于每个“类型”,为您的“Coursework_results”表创建一个新的表出现。将其命名为“Coursework_results_Classwork”。通过以下方式将其链接到“结果”表:
Results::_kp_resultID \____________/ Coursework_results_Classwork::_kf_resultID
Results::_k_Classwork / \ Coursework_results_Classwork::type
对“coursework_results”表数据中的每个“类型”重复此过程。
3:设置“classwork_percent”的计算为:
Sum ( Coursework_results_Classwork::mark ) / Sum ( Coursework_results_Classwork::max_mark )
然后根据他们自己新创建的表出现类似地设置其他 _percent 字段。(例如: Coursework_results_Quiz::mark 和 Coursework_results_Project::mark)
执行 SQL(适用于 FileMaker 12)
FileMaker 12 为您提供了新的 ExecuteSQL 步骤,您可以使用该步骤跳过在数据库中设置新模式。在这种情况下,您需要做的就是修改“classwork_percent”字段以进行计算:
ExecuteSQL(
"SELECT
SUM(mark)
FROM
Coursework_results
WHERE
_kf_resultID = ?";
""; ""; _kp_resultID)
有关更多信息,请查看 FileMaker 的页面:http ://www.filemaker.com/12help/html/func_ref3.33.6.html
另请查看 FileMaker SQL Sugar ("@") 模块以帮助构建查询:http ://www.modularfilemaker.org/2013/03/filemaker-sql-sugar/