Search for June 2017 and Omit , then you will see only Students that have not reported yet
Plz show your relationship graph.
I might use ExecuteSQL(), but I'd need to see your RG to show you what to use.
From a portal on the Student's page? or ???
Set up a layout based on Month for this.
Find all records for a given Month and Year
Use Go To Related Records with the "match found set" option to change to a layout based on MstrMem. This will give you a list of all reporting students. Then use Show Omitted Only to see all students that have not yet submitted a report for the specified month and year.
Set up a layout based on MstrMem for this where you also put the Month and Year fields from Month on this layout. They do not have to be in a portal but you can put them there if you want.
Enter find mode
Put in the month and year into the month and year fields
Make the request an "omit" request.
Perform the find.
Ignoring your current design and the use of relationships, graphs, sql, etc:
The simplest method I can think of is to create one table to hold the listing of students who are to submit a report.
I would add a Report table that would hold the details the students submit/or can enter into.
Each month I would generate one record in the report table for each student using a script which can be as simple as go to report layout and import list of students.
I would add a calculated field with a value of 0 if data is entered by the students and 1 if not yet entered. If the students enter data into this table your work is over.
You can then sort the report by that field or create a portal(s) showing students with 1 or 0.
You can also search as needed for 1 or 0 and do what you want (send email).
Two unrelated tables and few problems.