◆
TheShussekibo6.xlsmの出席簿(月ごと・学期ごと)シート構成では、
・該当学級の全生徒データを読み込んで
・各人IndexIDを頼りに、出欠席データを読み込む
としています。
このロジックでは、生徒テーブルと出欠テーブルを別個に読み込み、結果的に二つのテーブルを結合したデータを得ています。
◆
TheShussekibo6_Ctrl.xlsmの長欠月報シート構成では、
SELECT Sys_StudentsMast.IndexID, Sys_StudentsMast.Grade, Sys_StudentsMast.Name, Sys_StudentsMast.BirthDate, Sys_StudentsMast.Address,
Sys_StudentsMast.PaPaMaMa, MS_AbsenceAggregated.AbsenceDays
FROM Sys_StudentsMastINNER JOIN MS_AbsenceAggregated
ON Sys_StudentsMast.FisYear = MS_AbsenceAggregated.FisYear
AND Sys_StudentsMast.IndexID = MS_AbsenceAggregated.IndexID
WHERE (Sys_StudentsMast.FisYear = 該当年)
AND (MS_AbsenceAggregated.Month = 該当月)
AND (7 <= MS_AbsenceAggregated.AbsenceDays)
ORDER BY Sys_StudentsMast.Grade, Sys_StudentsMast.Class, Sys_StudentsMast.xNumber
このスクリプトの、
Sys_StudentsMast INNER JOIN MS_AbsenceAggregated
ON Sys_StudentsMast.FisYear = MS_AbsenceAggregated.FisYear
AND Sys_StudentsMast.IndexID = MS_AbsenceAggregated.IndexID
に注目してください。
二つのテーブルを、FisYearとIndexIDを「キー」にして結合し、ひとつのテーブルと見立ててデータを取得しています。
これこそがRDBMS(Relational DataBase Management System)の真骨頂です!