你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 跟高手学编程
通用查询及相关报表设计(七)
 

end;

    if ItemID[3]<>'' then begin // 选择了学期

      SQLWhere := SQLWhere + ' And Sp.Term='+IntToStr(ComboBoxTerm.ItemIndex);

    end;

    if iSearchItem<=3 then begin  // 取得上述设置条件下的课程,并填充

     strSQL:='SELECT Distinct SP.PlanCourseOrder, Course.CourseName';

     strSQL:=strSQL+' FROM SpecialityPlan SP INNER JOIN';

     strSQL:=strSQL+' Speciality S ON SP.SpecialityID = S.SpecialityID INNER JOIN';

     strSQL:=strSQL+' Department D ON S.DepartmentID = D.DepartmentID INNER JOIN';

     strSQL:=strSQL+' Class C ON S.SpecialityID = C.SpecialityID INNER JOIN';

     strSQL:=strSQL+' Course ON SP.CourseID = Course.CourseID AND';

     strSQL:=strSQL+' C.EntranceYear = SP.Jies';

     strSQL:=strSQL+ SQLWhere;

     strSQL:=strSQL+' ORDER BY SP.PlanCourseOrder';

     ADODataSet.CommandText := strSQL;

     ADODataSet.Open;

     CreateItems(ADODataSet, ComboBoxCourse.Items,'PlanCourseOrder;CourseName',True);

     ComboBoxCourse.ItemIndex := 0;

    end;

      end;

 end;

end;

编写“查询”按钮的OnClick事件,按用户选择的参数取得相关学生的成绩信息,同时还要考虑用户是选择哪一个菜单项进入的,不同的菜单选择不同的排序方案,并设置相关的按钮有效,用于输出对应的报表,相关代码如下:

procedure TFormSearchAchievement.BtnSearchClick(Sender: TObject);

Var

  SQLWhere :  String;

begin

 CalculateItemID;   // 计算选择项目ID

 SQLWhere := '';    // 动态生成SQL语句的Where子句

 if ItemID[0]<>'' then

   SQLWhere := ' Where D.DepartmentID='''+ItemID[0]+'''';

 if ItemID[1]<>'' then

   SQLWhere := SQLWhere + ' And S.SpecialityID='''+ItemID[1]+'''';

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089