1

ここでは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

CoursesTaken(StudentID、CourseID)

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を見ましたが、結果が私が探しているものと正確に一致していないようです。私はここで軌道から外れていますか?

4

0 に答える 0