Originally Posted by
madpiet
The Project-ish grid is super helpful! I drew something like that when I had to sort this out like 25 years ago. =)
Okay, the definition of an "overlap" between two courses is if the StartDate for one is between the StartDate and EndDate of another. To see that, you could create a deliberate Cartesian Product query (where you put two copies of tblClasses into your query grid and don't join them). Then you check to see if A.StartDate > B.StartDate AND A.EndDate<=B.EndDate. (Well, there are a couple more tests, but if any one is true, it conflicts, so you OR all the tests together.
Since your set of classes is static, you could just do that and return the pairs of classes that overlap (that's somehow magically in your table!). if you did it as (Course, OverlappingCourse), you'd just look for both Course and OverlappingCourse to show up in the same Schedule.
Don't want to speculate further right now... too braindead to be of a lot of help, so more later when I'm more awake.