1

我想从多条记录中提取数据并将它们插入到另一个表中单个记录的不同字段中。我正在做的工作需要我拉出cw_cat_total字段(这是与特定任务类别对应的所有任务的总和,并将适当的数据放入另一个表的字段中。

cw_cat_total字段是根据自连接关系计算得出的。我只是不知道如何将单个组件放入第二张图片中表格的不同列中。

在此处输入图像描述

任何 Filemaker 程序员都可以在这里帮助我吗?

更新:

我的数据库当然包含更多的表。这很复杂(从我的角度来看)。下面是ER图。

我的数据库的 ER 图

我试图实现的是将组件分数拉到results表的不同列中,以便可以使用不同类别的不同权重计算学生的作业分数。该课程作业分数以及学生在每个季度(学期)的考试分数将显示在reports表格中。

作为旁注,我是学校的老师(不是开发人员)。因此,我的模式可能不是行业通常采用的模式。我确实阅读了有关数据库规范化的信息,并认为我理解(​​我可能不明白,我不确定)。我尽力围绕我认为的行业惯例进行设计。如果我的 ER 图存在严重缺陷,影响了我想做的事情的实现,请指出,以便我可以重新设计整个数据库。我需要根据results第 4 学期报告中不同术语的不同权重来计算总体结果(来自表格)。但我认为这个问题与此类似。

4

1 回答 1

2

传统方法:(适用于 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/

于 2013-05-18T19:44:01.893 回答