【问题标题】:Access Help design multiple calculations with parametersAccess 帮助设计带有参数的多个计算
【发布时间】:2016-11-04 08:52:51
【问题描述】:

我一直在决定如何最好地进行计算。我的主表包含学生的分数,其中每门考试都有 11 门科目....

我可以在每次考试的查询中轻松地对此进行可视化,甚至可以创建交叉表。我可以使用计算出的控制框在报告中获得平均分数...

问题 1:如何在查询或 vba 中而不是在报表中完成此操作?我需要一种可以比较不同考试成绩的方法,是否还需要将平均值存储在表格中以供将来参考?

每门考试(11 门科目)都由一个examdate_id 标识......也可以通过我可以从表单的组合框中获取的参数(ExamYear、Semester 和examType)进行查询

问题 2 稍后进行

[主表:考试][1][1]:https://i.stack.imgur.com/NJz3A.jpg

【问题讨论】:

    标签: ms-access


    【解决方案1】:

    您需要一个计算平均结果的触发器。 Access 不支持数据库触发器,因此您必须对表单中的事件使用解决方法。

    • 将属性AverageScore 添加到您的Exams-表中
    • 根据您的Exams-表创建另一个表单。它应该具有新属性AverageScore
    • 您可以根据需要将视图更改为数据网格,使其看起来像一个表格。
    • form_load 事件中,您检索学生的所有 ID,并根据考试表 ID 更新每个 AverageScore
    • 此解决方案将在您每次加载表单时更新每个平均分数,因此建议将其放在其他位置。最好在您输入个别考试结果时使用。

    【讨论】:

    • 谢谢@eliteraceelephant 我一直在考虑你的建议(仍在等待听取其他意见)但这是否意味着我总是需要说WHERE是AverageScore......或排除它如果我需要做其他计算,得分?使用不同的表格作为平均值不是更容易吗?大多数专家在论坛中对此提出反对
    • 是的,应该是另一个表。如果每个学生只有一个平均分数,那么学生表可能是一个好地方。如果有多个分数(例如几年),您肯定需要一个单独的表格。在您的表 Exams 和放置 average_score 的位置之间使用内连接的 SQL 查询将为您提供所需的数据源。
    • 在这种情况下,我想我可以使用按钮来计算或更新平均值,因为不必每次输入分数时都这样做。最大的逻辑问题是由许多建议不要存储计算的数据
    • 这个问题已经回答[链接] (stackoverflow.com/questions/40435697/…)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 2014-12-26
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多