【问题标题】:Creating a Microsoft Access database to input student marks and view final results创建 Microsoft Access 数据库以输入学生成绩并查看最终结果
【发布时间】:2017-05-29 19:11:04
【问题描述】:

我的任务是为我在大学的工作创建一个学生数据库。

该数据库将用于计算学生的分数。这将涉及添加学生姓名和 ID,然后添加他们将学习的模块,最后输入每个模块的分数。

到目前为止,我已经创建了表格、查询和表单来展示学生模块,但是我真的在最后一部分上苦苦挣扎,如何为模块输入分数。

主要问题之一是每个标记的权重,因为某些模块有 1、2 或 3 个组件:例如课程作业 50% 考试 50%,所以我还必须将其纳入模块分数中。

到目前为止,我已经创建了 3 个表:

学生信息 - 学生卡, 名, 姓氏

模块 模块ID, 模块标题, 科目编号, 组件1, 重量1, 组件2, 重量2, 组件3, 体重3

注册 - ID 学生卡 模块ID

我创建了一个查询,其中包括:

学生证, 模块ID, 名, 姓, 模块标题

还有一个来自 StudentInfo 表的表单,其中包含 Enrollment 表的子表单。

我是 Access 的初学者,如果获得任何帮助或建议,我将不胜感激!

如果有人确实想查看/进行更改,很乐意通过电子邮件发送数据库。

非常感谢,

莎拉

【问题讨论】:

    标签: ms-access


    【解决方案1】:

    您已经完成了大部分艰苦的工作,您只需要另一张桌子来保存分数。您可以通过多种不同的方式来构建它,但例如,您可以从 Enrolment 表中复制设计并将其扩展为包含每个组件的标记。

    它可能看起来像这样:

    标记 - ID、StudentID、ModuleID、Component1Mark、Component2Mark、Component3Mark

    然后要获得 ModuleID X 的加权结果(假设 30% 的权重输入为 0.3),您可以这样查询:

    select marks.StudentID, (module.Weight1 * marks.Component1Mark) + 
      (module.Weight2 * marks.Component2Mark) + (module.Weight3 * marks.Component3Mark)
      from module
      inner join marks on module.ModuleID = marks.ModuleID
      where module.ModuleID = X
    

    【讨论】:

    • 当然 - 如果这解决了您的问题,请将其标记为答案。
    猜你喜欢
    • 1970-01-01
    • 2013-02-10
    • 2022-08-18
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 2015-03-31
    • 2020-02-27
    • 1970-01-01
    相关资源
    最近更新 更多