strSQL:=strSQL+' Teacher T ON CT.TeacherID = T.TeacherID INNER JOIN';
end;
strSQL:=strSQL+' Course ON SP.CourseID = Course.CourseID';
strSQL:=strSQL+' Where SP.Jies = C.EntranceYear';
if (UserType=1) And (Not IsAdministroy) then Begin
strSQL:=strSQL+' And T.TeacherID = '''+UserID+'''';
strSQL:=strSQL+' And C.ClassID = CT.ClassID';
end;
strSQL:=strSQL+' Order By D.DepartmentID, S.SpecialityID, SP.Jies, C.ClassID, SP.PlanCourseOrder';
ADODataSetTree.Close;
ADODataSetTree.CommandText := strSQL;
ADODataSetTree.Open;
SBtnSave.Enabled := False;
SBtnPrintReportCard.Enabled := False;
SBtnPrintMakeup.Enabled := False;
if ADODataSetTree.RecordCount>0 then
StatusBar.Panels[1].Text := '请先展开左边的目录树,选择要输入成绩的课程'
else
StatusBar.Panels[1].Text := '对不起,没有课程需要输入成绩';
// 树型结构节点关键字数组
SetLength( Fields, 5 );
Fields[0][1] := 'DepartmentID'; // 第一关键字字段
Fields[0][2] := 'DepartmentName'; // 第一关键字值字段
Fields[1][1] := 'SpecialityID'; // 第二关键字字段
Fields[1][2] := 'SpecialityName'; // 第二关键字值字段
Fields[2][1] := 'Jies'; // 第三关键字字段
Fields[2][2] := 'Jies'; // 第三关键字值字段
Fields[3][1] := 'ClassID'; // 第四关键字字段
Fields[3][2] := 'ClassName'; // 第四关键字值字段
Fields[4][1] := 'PlanCourseOrder'; // 第五关键字字段
Fields[4][2] := 'CourseName'; // 第五关键字值字段
// 调用创建目录树的通用快速算法
CreateTreeFast(ADODataSetTree, Fields, TreeView);
ADODataSetAchievementType.Open;
// 调用CreateItems过程动态设置考试类型对象的Items属性
CreateItems(ADODataSetAchievementType, ComboBoxAchievementType.Items,'AchievementTypeID;AchievementTypeName');
ADODataSetAchievement.Filter := '';
ADODataSetAchievement.Filtered := True; // 使过滤有效,用于统计不及格学生
// 从系统参数文件(Stu.ini)中取成绩占比(%)
Edit1.Text := IniFile.ReadString('ScorePer', 'Achievement1', '10');
Edit2.Text := IniFile.ReadString('ScorePer', 'Achievement2', '20');
Edit3.Text := IniFile.ReadString('ScorePer', 'Achievement3', '70');
ComboBoxAchievementType.Enabled := False;
iCount := 0; // 存放上该课程班级的人数,起始值为0
end;
end;
|