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

end;

 strSQL:=strSQL+' Order By ' + strTemp;

// strSQL:=strSQL+' Order By A.PlanCourseOrder, A.AchievementTypeID, A.StudentID';

 ADODataSet.Close;

 ADODataSet.CommandText := strSQL;

 if BtnSearch.Tag =3 then // 如是补考,则设置过滤条件

  ADODataSet.Filter := 'Achievement<60';

 ADODataSet.Open;

 StatusBar.Panels[3].Text := IntToStr(ADODataSet.RecordCount);  // 记录数

 DataSource.DataSet := ADODataSet;

end;

当用户在选择了“学院”、“专业”或“班级”后,ComboBoxStudent (学生)ComboBoxCourse (课程)列表框中已填充了相应的学生和课程内容,因此用户可以从“学生”列表框中选取某一个学生或从“课程”列表框中选取某一门课程进行查询,所以还需要编制“学生”和“课程”列表框的OnChange事件。因为当“学生”、“课程”或“考试类型”发生变化后,都需要重新进行查询,所以将这3TComboBoxOnChange事件设置为事件共享,在该OnChange事件中直接调用“查询”按钮的OnClick事件即可,相关代码如下:

procedure TFormSearchAchievement.ComboBoxStudentChange(Sender: TObject);

begin

  BtnSearchClick( Nil );  // 调用"查询"按钮的OnClick事件

end;

“统计报表”按钮的OnClick事件,输出相关报表,相关代码如下:

procedure TFormSearchAchievement.SBtnStatisticsClick(Sender: TObject);

begin

 With FormStatisticsReport do begin

 // 通过通用查询、排名统计表和补考名单菜单进入时,有细节带

 // 而通过打印成绩单和统计分析表菜单进入时,则没有细节带

  DetailBand1.Enabled:=(BtnSearch.Tag in [0,3]);

  QRGroup1.ForceNewPage:=(BtnSearch.Tag in [0,1,3]);    // 设置分页

  if BtnSearch.Tag=0 then

   QuickRep.ReportTitle:='通用报表'

  else

   QuickRep.ReportTitle:=SBtnStatistics.Caption;

  QRLabelStudentID.Enabled:=DetailBand1.Enabled;

  QRLabelStudentName.Enabled:=DetailBand1.Enabled;

  QuickRep.Preview;

 end;

end;

  推荐精品文章

·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