我有一个我们组织的课程注册数据库。它跟踪的主要内容是:用户信息(姓名等),跟踪信息(即您的专业前:生物学)和课程信息(哪些课程适用于哪些课程)。
所以数据结构看起来像这样。
tblUsers
UserID (PK)
FirstName
LastName
.
tblUserTrack
UserTrackID (PK)
UserID (FK) - links to tblUsers
TrackID (FK - links to tblTrack).
.
tblTrack
TrackID (PK)
TrackName
.
tblCourses
CourseID (PK)
CourseName
TrackID (FK links to tblTrack)
.
tblRegistrationNew
RegistrationID (PK)
UserTrackID (FK links to tblUserTrack)
Grade
CompletionDTTM
注册表单有 3 个元素: 父表单包含用户人口统计信息 轨道子表单包含用户/轨道信息,通过 UserID 链接到父表单。您可以毫无问题地向用户添加曲目(在我们的组织中,他们可以有多个曲目,例如生物学和化学)。
第三种形式的目标是根据用户输入的内容填充注册信息。但是,每当我将注册表添加到查询中时,它都不会更新(从 SQL 的角度来看这是有道理的)。
更新跟踪表时是否可以在注册表中更新/插入行?如果有怎么办?我有 MS SQL Server 和 C#.NET 经验,所以我并不完全无知(只是大部分)。
我还发现这个链接到一个做得很好的注册数据库,但它没有我需要的功能。 http://office.microsoft.com/en-gb/templates/classroom-management-database-TC001018407.aspx?CategoryID=CT101426031033&av=ZAC000&AxInstalled=1&c=0
编辑:相当接近。我意识到我可以对注册表进行左连接,但我无法更新表单中的记录。查询在这里:
选择 tblUserTrack.UserTrackID, tblUserTrack.UserID, tblUserTrack.TrackID, tblCourses.[Course Titles], tblRegistrationNew.Grade, tblRegistrationNew.CompleteDTTM FROM (tblUserTrack INNER JOIN tblCourses ON tblUserTrack.TrackID = tblCourses.TrackID) LEFT JOIN tblRegistrationNew ON tblUserTrack.UserTrackID tblRegistrationNew.UserTrackID;