这里有点像 SQL 的菜鸟。我正在尝试使用访问数据库中的数据为我们部门构建注册表单。这个想法是为每个学生打印一张表,显示所有可用的课程,并在学生已经注册的课程旁边带有复选标记。相关表处于经典的多对多关系
学生(StudentID、FamilyName、GivenName 等)
1, Bennett, Shane
2, Bradford, Alex
课程(CourseID、CourseName、Term、Year)
1, Level 1 Math, Winter, 2013
2, Level 1 English, Winter, 2013
3, Level 1 Bio, Winter, 2013
所学课程(学生 ID、课程 ID)
1, 1
1, 3
2, 2
2, 3
我想要的表是:
注册(FamilyName、GivenName、CourseName、已注册)
Bennett, Shane, Level 1 Math, True
Bennett, Shane, Level 1 English, False
Bennett, Shane, Level 1 Bio, True
Bradford, Alex, Level 1 Math, False
Bradford, Alex, Level 1 English, True
Bradford, Alex, Level 1 Bio, True
我们每学期大约有 300 名学生,每学期提供大约 15 个班级,所以我正在寻找一个有 300x15 行的结果表,即每个学生的所有 15 个班级。
对我来说,更简单的方法是使用 VBA 中的 DAO 记录集简单地查找给定 StudentID 的所有 CoursesTaken,然后使用 VBA 循环表单并将报告字段设置为 true 或 false。但是后来(几个小时前)我想在 SQL 中可能有更好的方法。我查看了 OUTER JOINS,但似乎结果并不完全符合我的要求。我在这里偏离轨道了吗?