【发布时间】:2011-12-04 23:24:40
【问题描述】:
我有一个学生和课程表。
Student
ID - Primary Key - AutoNumber
CID - Number
FirstName - Text
LastName - Text
Course
ID - Number
CourseTitle - Text
我有一个数据输入子表单,我可以在其中输入CourseTitle、FirstName 和LastName,当我单击保存记录时,数据将保存到学生和课程表中。但是,当我第二次输入相同的课程标题时,它会在具有不同 ID 的课程表中添加另一行具有相同名称的行。如果我输入的课程名称已经存在,那么它不应添加新的课程名称。
例子
假设保存记录前数据的状态为:
Course
-------
ID | CourseTitle
-------|-------------
1 | Maths
Student
-------
ID | CID | FirstName | LastName
--------|--------|--------------|----------
1 | 1 | Mike | Someone
现在,当我保存数据输入表单中的数据时:
Course Name = Maths
First Name = Junior
Last Name = Someone Else
Data的状态变成
Course
-------
ID | CourseTitle
-------|-------------
1 | Maths
2 | Maths
Student
-------
ID | CID | FirstName | LastName
--------|--------|--------------|----------
1 | 1 | Mike | Someone
2 | 2 | Mike | Someone
问题 但是,我希望数据看起来像:
我怎样才能做到这一点??
Course
-------
ID | CourseTitle
-------|-------------
1 | Maths
Student
-------
ID | CID | FirstName | LastName
--------|--------|--------------|----------
1 | 1 | Mike | Someone
2 | 1 | Mike | Someone
【问题讨论】:
-
你有学生作为课程的子形式吗?在进行数据输入时反之亦然?如果没有,它将添加单独的记录。
-
我建议使用第三张表来处理 Student - Course 多对多关系。这样您就可以在不复制学生记录的情况下添加学生 ID 和课程 ID(除非有两个学生名为 Mike Some。