if ItemID[2]<>'' then
SQLWhere := SQLWhere + ' And C.ClassID='''+ItemID[2]+'''';
if ItemID[3]<>'' then
SQLWhere := SQLWhere + ' And Sp.Term='+IntToStr(ComboBoxTerm.ItemIndex);
if ItemID[4]<>'' then
SQLWhere := SQLWhere+' And Stu.StudentID = '''+ItemID[4]+'''';
if ItemID[5]<>'' then
SQLWhere := SQLWhere+' And SP.PlanCourseOrder = '+ItemID[5];
if ItemID[6]<>'' then // 考试类型
SQLWhere := SQLWhere+' And A.AchievementTypeID = '+ItemID[6];
strSQL:='SELECT C.EntranceYear, SP.Term, A.PlanCourseOrder, C.ClassID, Stu.StudentID,';
strSQL:=strSQL+' S.SpecialityName, C.ClassName, StudentName, Course.CourseName,';
strSQL:=strSQL+' AT.AchievementTypeName, Achievement, Achievement1, Achievement2, Achievement3';
strSQL:=strSQL+' FROM Achievement A INNER JOIN';
strSQL:=strSQL+' AchievementType AT ON A.AchievementTypeID = AT.AchievementTypeID INNER JOIN';
strSQL:=strSQL+' SpecialityPlan SP ON A.PlanCourseOrder = SP.PlanCourseOrder INNER JOIN';
strSQL:=strSQL+' Student Stu ON A.StudentID = Stu.StudentID INNER JOIN';
strSQL:=strSQL+' Class C ON Stu.ClassID = C.ClassID INNER JOIN';
strSQL:=strSQL+' Speciality S ON SP.SpecialityID = S.SpecialityID AND';
strSQL:=strSQL+' C.SpecialityID = S.SpecialityID INNER JOIN';
strSQL:=strSQL+' Department D ON S.DepartmentID = D.DepartmentID INNER JOIN';
strSQL:=strSQL+' Course ON SP.CourseID = Course.CourseID';
strSQL:=strSQL + SQLWhere;
// 不同查询,设置不同的排序方案,为输出报表打好基础
if BtnSearch.Tag In [0,2..3] then begin // 通用查询,排名统计表,统计分析表,补考名单
strTemp:='C.EntranceYear, SP.Term, A.PlanCourseOrder, C.ClassID, A.AchievementTypeID, Achievement DESC';
SBtnStatistics.Enabled := True; // 使用“统计报表”按钮输出报表
end
else begin // 打印成绩单
strTemp:='A.StudentID, C.EntranceYear, SP.Term, A.PlanCourseOrder, A.AchievementTypeID';
SBtnReportCard.Enabled := True; // 使用“成绩单”按钮输出报表
|