多对多数据输入 - Access 2010

多对多数据输入 - Access 2010

我有三张表。Student、Class 和 StudentClassMap(多对多),布局如下:

Student:
SID - PK
Student Name

Class:
CID - PK
Class Name

StudentClassMap:
SID - FK | PK
CID - FK |
Grade

现在我想创建一个基于学生的表单,其中包含一个子表单,显示学生的所有课程及其成绩。我可以通过选择学生表并转到“创建表单”轻松完成此操作。现在自动生成的子表单仅显示 CID 和成绩。因此,为了使其更美观,我创建了一个返回 SID、班级名称和成绩的查询,并将其设置为我的子表单的来源。

所以现在我有了一个包含学生信息的表单和一个显示班级名称和班级成绩的子表单。我可以轻松添加新学生并更改每个学生已经在上的班级的成绩。我的问题是如何才能从这个表单将学生添加到班级。当我尝试在子表单中输入班级名称时,我收到一条错误消息,提示我无法编辑此值。

注意:我并不是想创建一个新班级,该班级存在于班级表中...我只是想将其添加到学生表单上的子表单中。

理想的情况是子表单的类别名称列是类别表中存在的类别名称的下拉列表。

请让我知道这是否有意义。

答案1

在学生表单上,您的子表单应该是 StudentClassMap 中的行。然后将 CID 列更改为选择框,并将其行属性设置为显示班级名称。这样您就可以在学生表单上添加/删除学生的班级,以及编辑成绩。

相关内容