解决Microsoft Access中的多对多关系?

时间:2011-09-12 14:47:56

标签: database database-design ms-access relational-database

我创建了一个数据库,其中包含一个STUDENT表,一个COURSE表和一个名为STUDENT_COURSE的交集表。但是,我有重复行的问题,我不知道如何解决它们。

以下是设计视图中的表格图片以及我创建的多对多关系。

http://imgur.com/P7DI1l&THH7A(请务必点击“第二张图片”链接查看关系图片。)

为了简化数据输入,我使用表单向导来设置SCHEDULE表单(和子表单)。

http://imgur.com/isf4Y&ARYu3

如您所见,可以在表单中输入学生数据,并在子表单中输入与该特定学生相关的课程数据。但是,当输入课程子表单数据时,它会创建一个新的courseID(autoNumber)。这个新的courseID导致重复的courseNames(通过“Second Image”参见上面的imgur链接中的“线性代数”条目),这样当一个人按类查询时,相关的学生不会组合在一起。

我的设计有缺陷吗?我没有正确使用表格输入数据吗?请帮我解决这个问题。

非常感谢!

1 个答案:

答案 0 :(得分:0)

您的子表单应该基于STUDENT_COURSE表,而不是基于COURSE表。您仍然可以将COURSE表中的列添加到子表单以显示与课程相关的数据。

以下是一些链接:

  1. http://www.techrepublic.com/article/accommodating-a-many-to-many-relationship-in-access/5285168
  2. http://www.dhdurso.org/articles/ms-access-forms-pg4.html
  3. http://en.allexperts.com/q/Using-MS-Access-1440/Help-form.htm