版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件技术软件技术专业剖析报告专业剖析报告 软件教研室软件教研室 李李 萍萍2019年年5月月 第第7章章 报表制作和使用报表制作和使用授课教师:周志德授课教师:周志德本 章本 章内容内容设计报表设计报表组件组件QuickReportQuickReport概述概述QuickReport组件组件设计报表程序的步骤设计报表程序的步骤打印程序打印程序举例举例编写学生档案报表预览打印程序编写学生档案报表预览打印程序教学内容与要求教学内容与要求(1了解数据报表由页眉、标题栏、字段名称栏、字段了解数据报表由页眉、标题栏、字段名称栏、字段值明细栏、汇总栏与页脚值明细栏、汇总栏与页脚6个部分组成。个部分组成。
2、(2掌握数据报表制作与打印组件:掌握数据报表制作与打印组件:QuickReport的属性、的属性、方法、事件及其使用方法。方法、事件及其使用方法。(3掌握编写掌握编写“打印打印”、“预览预览”、“打印机设置事件驱动打印机设置事件驱动程序的方法。程序的方法。7.1 QuickReport组件组件 7.1.1 QuickReport组件概述组件概述1、作用:数据报表制作与打印、作用:数据报表制作与打印 2、位置:、位置:QReport页页 添加添加QReport组件到组件到QReport页的方法:页的方法:主菜单:主菜单:Component | Install Packages | Add | 选
3、择选择C:Programs Files BorLand Delphi7Bindclqrt70.bpl 翻翻开,则开,则QReaport组件已被加载到组件板上。组件已被加载到组件板上。例例7.1 设计系部编码表的查询、编辑、预览、打印程序。设计系部编码表的查询、编辑、预览、打印程序。设计要求:程序由两个窗体组成。设计要求:程序由两个窗体组成。一个是查询与编辑主窗体,如图一个是查询与编辑主窗体,如图7.1所示。所示。一个打印预览子窗体,如图一个打印预览子窗体,如图7.2所示。所示。当程序执行后,在主窗体中按当程序执行后,在主窗体中按按钮,则调用报表按钮,则调用报表预览子窗体,预览界面如图预览子窗体
4、,预览界面如图7.3所示。所示。7.1.1 QuickReport组件概述组件概述7.1.1 QuickReport组件概述组件概述图图7.1 系部编码查询、编辑、打印预览程序系部编码查询、编辑、打印预览程序图图7.2 用用QReport组件设计组件设计TB06报表打印预览窗体报表打印预览窗体界面界面标题栏标题栏字段名称栏字段名称栏字 段 值 明 细字 段 值 明 细栏栏报表汇总栏报表汇总栏报表页脚报表页脚报表页眉报表页眉QRDBText组件组件QRSysData组件组件QRLabel组件组件QRShape组件组件QuickRep组件组件QRBand组件组件7.1.1 QuickReport组
5、件概述组件概述标题栏标题栏字段名称栏字段名称栏字段值明细栏字段值明细栏报表汇总栏报表汇总栏报表页脚报表页脚报表页眉报表页眉图图7.3 程序执行后的打印预览界面程序执行后的打印预览界面7.1.1 QuickReport组件概述组件概述(1创建一个工程:创建一个工程:工程文件名:工程文件名:Project7_1.dpr,单元文件名:单元文件名:Unit7_1.pas,保存在保存在D:Delphiex7_1目录中。目录中。 (2添加组件、设置添加组件、设置Name属性如表属性如表1所示所示(3数据库连接组件、数据集组件、数据源组件与数据界数据库连接组件、数据集组件、数据源组件与数据界面组件的属性设置
6、参见例面组件的属性设置参见例6.1。7.1.1 QuickReport组件概述组件概述7.1.1 QuickReport组件概述组件概述表表7.1 程序中各组件的程序中各组件的Name属性属性组件组件NameADOConnectionADOConnection_XsdaADOTableTable_TB06DataSourceDataSource_TB06DBGridDBGrid_TB06FormForm7_1BitBtn1BitBtn_PreviewBitBtn2BitBtn_PrintBitBtn3BitBtn_PrintSetup(4数据报表的组成数据报表的组成由图由图7.2与图与图7.3
7、可知数据报表通常是由:可知数据报表通常是由:页眉页眉标题栏标题栏字段名称栏字段名称栏字段值明细栏字段值明细栏汇总栏汇总栏页脚页脚6个部分组成。个部分组成。7.1.1 QuickReport组件概述组件概述 设计图设计图7.2所示的打印预览子窗体程序,需要使用所示的打印预览子窗体程序,需要使用Quick Report组件。组件。 Quick Report并不是一个组件,而是位于组件板的并不是一个组件,而是位于组件板的QReport页上页上23种组件的集合。种组件的集合。 使用这使用这23种报表制作组件就能设计出功能齐全、具有专种报表制作组件就能设计出功能齐全、具有专业水准的报表。业水准的报表。
8、下面开始介绍下面开始介绍QReport页中的各种常用组件。页中的各种常用组件。7.1.1 QuickReport组件概述组件概述7.1.2 QuickReport组件组件 报表由页眉、标题栏、字段名称栏、字段值明细栏、报表报表由页眉、标题栏、字段名称栏、字段值明细栏、报表汇总栏与报表页脚汇总栏与报表页脚6个部分组成,表中各栏目也称为表带个部分组成,表中各栏目也称为表带Band。制作报表的一般步骤如下:。制作报表的一般步骤如下:(1在窗体中放置一个报表表区组件在窗体中放置一个报表表区组件QuickRep。(2在表区中放置若干个表带组件在表区中放置若干个表带组件Band,用于设置报表,用于设置报表
9、页眉、标题栏、字段名称栏、字段值明细栏、报表汇总栏页眉、标题栏、字段名称栏、字段值明细栏、报表汇总栏与报表页脚。与报表页脚。(3在表带组件中放置显示标题、字段名、字段值的在表带组件中放置显示标题、字段名、字段值的QRLabel、QRDBText等组件。等组件。1QuickRep组件组件(1作用:建立报表表区,设计报表式样与栏目如报表作用:建立报表表区,设计报表式样与栏目如报表的页眉、标题、表头、明细、汇总、页脚等)。的页眉、标题、表头、明细、汇总、页脚等)。(2添加添加QReport页页主菜单:主菜单:Component | Install Packages | Add | 选择选择C:Pro
10、grams Files BorLand Delphi7Bindclqrt70.bpl 翻翻开,则开,则QReport页被添加到组件板上。页被添加到组件板上。(3创建报表子窗体创建报表子窗体先建先建Form子窗体,后将子窗体,后将QuickRep组件添加到子窗体中。组件添加到子窗体中。7.1.2 QuickReport组件组件 创建例创建例7.1 中系部编码打印预览报表子窗体。中系部编码打印预览报表子窗体。 打开工程文件打开工程文件Project7_1.dpr,创建新窗体,创建新窗体Form,设置,设置属性如下:属性如下: Name:Form7_1_1; Caption:系部编码报表打印预览;:
11、系部编码报表打印预览; 单元名:单元名:Unit7_1_1.pas; 保存在保存在D:DelphiEx7_1目录中。目录中。 将将QuickRep组件放到窗体组件放到窗体Form7_1_1中;中; Name:QuickRep_TB06。7.1.2 QuickReport组件组件(3主要属性主要属性Bands属性:设置报表的页眉、标题栏、字段名称栏、字属性:设置报表的页眉、标题栏、字段名称栏、字段值明细栏、汇总栏与页脚子属性。段值明细栏、汇总栏与页脚子属性。各子属性值如下:各子属性值如下:HasPageHeader:True显示页眉,显示页眉,False不显示页眉。不显示页眉。HasTile:T
12、rue显示标题栏,显示标题栏,False不显示标题栏。不显示标题栏。该栏只在报表首页出现一次。该栏只在报表首页出现一次。HasColumnHeader:True显示字段名称栏,显示字段名称栏,False不显示字不显示字段名称栏。段名称栏。7.1.2 QuickReport组件组件HasDetail:True显示字段值明细栏,显示字段值明细栏,False不显示字段值明细栏。不显示字段值明细栏。HasSummary:True显示汇总栏,显示汇总栏,False不显示汇总栏。不显示汇总栏。该栏只在报表尾页出现一次。该栏只在报表尾页出现一次。HasPageFooter:True显示页脚,显示页脚,Fal
13、se不显示页脚。不显示页脚。上述上述6个子属性的默认值为个子属性的默认值为False,将报表组件的,将报表组件的Bands属性的属性的6个子属性改为个子属性改为True。报表样式由页眉、标题栏、字段名称栏、字段。报表样式由页眉、标题栏、字段名称栏、字段值明细栏、汇总栏与页脚值明细栏、汇总栏与页脚6栏组成,如图栏组成,如图7.4所示。所示。7.1.2 QuickReport组件组件页眉框标题栏字段名称栏字段明细栏汇总栏页脚框图图7.4 QuickRep组件定制报表栏组件定制报表栏目目7.1.2 QuickReport组件组件DataSet属性:连接报表要使用的数据集组件属性:连接报表要使用的数据
14、集组件ADOTable或或ADOQuery。使报表中的数据组件如。使报表中的数据组件如QRDBText可预可预览或打印数据表中字段值。览或打印数据表中字段值。阐明:阐明:若若ADOTable或或ADOQuery在调用窗体中,如例在调用窗体中,如例7.1中的中的Table_TB06在在Form7_1窗体中。则在报表预览子窗体窗体中。则在报表预览子窗体Form7_1_1的的implementation部分,必须用部分,必须用uses子句说明所子句说明所使用窗体对应的单元文件。使用窗体对应的单元文件。7.1.2 QuickReport组件组件implementationuses Unit7_1;此时
15、,用鼠标选择此时,用鼠标选择QuickRep_Tb06组件,在对象监视器中组件,在对象监视器中单击单击DataSet属性下拉列表框,可选择属性下拉列表框,可选择Form7_1.Table_TB06项,如图项,如图7.4中对象监视器所示。中对象监视器所示。 Description属性:显示打印预览窗体的标题内容,如属性:显示打印预览窗体的标题内容,如“系系部编码表打印预览部编码表打印预览”。7.1.2 QuickReport组件组件 Options属性:控制在首页与尾页是否要显示页眉与页属性:控制在首页与尾页是否要显示页眉与页脚。脚。FirstPageHeader:True首页显示页眉,首页显示
16、页眉,False首页不显示页首页不显示页眉;眉;LastPageFooter:True尾页显示页脚,尾页显示页脚,False尾页不显示页尾页不显示页脚;脚;7.1.2 QuickReport组件组件Page属性:设置页大小、纸张等,有属性:设置页大小、纸张等,有10个子属性。个子属性。BottomMargin:页面下边距,默认值为:页面下边距,默认值为10;Columns:列数,默认值为:列数,默认值为1;ColumnSpace:列与列之间的距离,默认值为:列与列之间的距离,默认值为0;LeftMargin:页面左边距,默认值为:页面左边距,默认值为10;Length:纸张长度,默认值为:纸张
17、长度,默认值为297,即,即A4纸的长度;纸的长度;Orientation:页面方向,如果设为:页面方向,如果设为poLandSpace表示横向,表示横向,设为设为poPortTraint表示纵向;表示纵向;PageSize:纸张型号,默认值为:纸张型号,默认值为A4;RightMargin:页面右边距,默认值为:页面右边距,默认值为10;Ruler:设置标尺;:设置标尺;TopMargin:页面顶边距,默认值为:页面顶边距,默认值为10。7.1.2 QuickReport组件组件 ReportTitle属性:显示打印报表预览窗体标题,如设置属性:显示打印报表预览窗体标题,如设置ReportT
18、itle属性为属性为“系部编码报表预览系部编码报表预览”,则程序执行后,报,则程序执行后,报表预览窗体标题为表预览窗体标题为“系部编码报表预览系部编码报表预览”。 Units属性:设置计量单位,默认值属性:设置计量单位,默认值mm毫米)。毫米)。 Zoom属性:控制预览页面的缩放比例,默认值为属性:控制预览页面的缩放比例,默认值为100。7.1.2 QuickReport组件组件 QuickRep组件的属性可在对象监视内设置,也可用报表设组件的属性可在对象监视内设置,也可用报表设置工具置工具Report Setting来设置。启动来设置。启动Report Setting的方法有的方法有两种:两
19、种:方法一:双击方法一:双击QuickRep组件窗体组件窗体方法二:右击方法二:右击QuickRep组件窗体,在弹出菜单中选择组件窗体,在弹出菜单中选择Report SettingReport Setting对话框内容如图对话框内容如图7.5所示。所示。7.1.2 QuickReport组件组件图图7.5 Page页属性设置对话框页属性设置对话框7.1.2 QuickReport组件组件从图从图7.5可见,可见,Report Setting工具提供了工具提供了5种属性集和种属性集和5个个按钮用于设置报表,分别是按钮用于设置报表,分别是Paper Size(纸张设置纸张设置)、Margin(边距
20、设置边距设置)、Other(其它设置其它设置)、Page Frame(页面页面设置设置)、Bands(栏目设置栏目设置)。程序员用。程序员用Report Setting工具可工具可更快更方便地设计出报表样式。更快更方便地设计出报表样式。7.1.2 QuickReport组件组件在例在例7.1 中,因为报表内容较少,所以中,因为报表内容较少,所以Paper Size栏中的纸栏中的纸张设置为用户自定义张设置为用户自定义Custom Size,宽度,宽度Width为为90mm,长度长度Length为为90mm。Other栏中字体大小设置为栏中字体大小设置为9号宋体。号宋体。Bands栏中各表带的高度
21、应随字体的减小而作相应的降低,栏中各表带的高度应随字体的减小而作相应的降低,取值如图取值如图7.5所示。所示。按图按图7.5中最下面的中最下面的Apply按钮可使页面设置生效,按按钮可使页面设置生效,按Preview按钮可预览报表的打印效果。预览后的效果如图按钮可预览报表的打印效果。预览后的效果如图7.3所示。所示。7.1.2 QuickReport组件组件 (2QuickRep组件的主要方法组件的主要方法 Preview方法:用于在主窗体内调用报表预览子窗体,方法:用于在主窗体内调用报表预览子窗体,预览数据报表。如在预览数据报表。如在“系部编码查询、编辑、预览、打印系部编码查询、编辑、预览、
22、打印程序主窗体程序主窗体Form7_1内编写内编写“预览按钮预览按钮BitBtn_Preview的事件处理程序如下:的事件处理程序如下:7.1.2 QuickReport组件组件 procedure TForm7_1.BitBtn_PreviewClick(Sender: TObject);begin Application.CreateForm(TForm7_1_1, Form7_1_1); Form7_1_1.QuickRep_TB06.Preview; Form7_1_1.Free;end;第一条语句第一条语句:创建报表预览窗体创建报表预览窗体Form7_1_1;第二条语句第二条语句:调
23、用子窗体调用子窗体Form7_1_1中中QuickRep组件的组件的Preview方法,用于预览报表;方法,用于预览报表;第三条语句第三条语句:释放报表预览窗体释放报表预览窗体Form7_1_1占用内存空间;占用内存空间;7.1.2 QuickReport组件组件Print方法:应用程序主窗体内调用报表打印预览窗体,方法:应用程序主窗体内调用报表打印预览窗体,打印数据报表。如在系部编码窗体打印数据报表。如在系部编码窗体Form7_1内编写内编写“打印打印按钮按钮BitBtn_Print的事件处理程序如下:的事件处理程序如下:procedure TForm7_1.BitBtn_PrintClic
24、k(Sender: TObject);begin Application.CreateForm(TForm7_1_1, Form7_1_1); Form7_1_1.QuickRep_TB06.Print; Form7_1_1.Free;end;程序中第二条语句用于打印报表。程序中第二条语句用于打印报表。7.1.2 QuickReport组件组件PrinterSetup方法:应用程序窗体内调用打印机设置对方法:应用程序窗体内调用打印机设置对话框,设置打印机。如在系部编码窗体话框,设置打印机。如在系部编码窗体Form7_1内编写内编写“打打印机设置按钮印机设置按钮BitBtn_PrintSetup
25、的事件处理程序如下:的事件处理程序如下:procedure TForm7_1.BitBtn_PrintSetupClick(Sender: TObject);begin Application.CreateForm(TForm7_1_1, Form7_1_1); Form7_1_1.QuickRep_TB06.PrinterSetup; Form7_1_1.Free;end;程序中第二条语句用于启动打印机设置对话框。程序中第二条语句用于启动打印机设置对话框。7.1.2 QuickReport组件组件2QRBand组件组件在用在用QuickRep组件制作报表时,报表中每一栏实际上就是组件制作报表
26、时,报表中每一栏实际上就是一个一个QRBand组件。因此,程序员可使用组件。因此,程序员可使用QuickRep组件中的组件中的Band属性中各子属性默认值属性中各子属性默认值False),从一张空表开始,),从一张空表开始,向空表中添加向空表中添加QRBand组件构成表中的各栏目。组件构成表中的各栏目。事实上事实上QRBand组件类似于组件类似于Panel组件,一方面可以作为容组件,一方面可以作为容器,将其它输出组件如器,将其它输出组件如QRDBText、QRLabel放在其栏放在其栏框内。另一方面,可以将报表分成几个部分,每个部分输出框内。另一方面,可以将报表分成几个部分,每个部分输出特定的
27、栏目内容,如页眉、标题、表头、明细、汇总、页脚特定的栏目内容,如页眉、标题、表头、明细、汇总、页脚等。等。7.1.2 QuickReport组件组件(1添加添加Band组件的方法组件的方法方法方法1:将:将QuickRep组件的组件的Band属性中某个子属性设置为属性中某个子属性设置为True,并设置其类型即可。,并设置其类型即可。方法方法2:从:从QReport面板中将面板中将QRBand组件放到组件放到QuickRep组组件窗体中。件窗体中。(2主要属性主要属性AlignToBottom属性:属性:True,Band栏内容只能从页面底栏内容只能从页面底部输出。部输出。False,Band栏
28、内容紧跟上一个栏内容紧跟上一个Band输出。输出。7.1.2 QuickReport组件组件BandType属性:用于设置属性:用于设置Band栏目的类型。栏目的类型。RbTile:报表标题栏:报表标题栏;RbPageHeader:报表页眉;:报表页眉;RbColumnHeader:报表字段名称栏;:报表字段名称栏;RbDetail:报表字段值明细栏:报表字段值明细栏 ;RbSummary:报表汇总栏;:报表汇总栏;RbPageFooter:报表页脚;:报表页脚;7.1.2 QuickReport组件组件Frame属性:控制属性:控制Band边框线的属性。边框线的属性。在例在例7.1中,各栏中
29、,各栏Band的边框线的边框线Frame属性设置如表属性设置如表7.2所示。表所示。表7.2 报表中各栏边框线的设置报表中各栏边框线的设置7.1.2 QuickReport组件组件Band类型类型DrawBottomDrawLeftDrawRightDrawTopTitleBandTrueFalseFalseFalseColumnHeaderBand TrueTrueTrueFalseDetailBandTrueTrueTrueFalseSummaryBandTrueTrueTrueFalsePageFooterBandTrueTrueTrueFalse 3QRLabel组件:显示静态文本。组
30、件:显示静态文本。如在例如在例7.1的标题栏中添加的标题栏中添加QRLabel组件,将其组件,将其Caption属属性设置为性设置为“系部编码表系部编码表”。在字段名称栏中添加三个。在字段名称栏中添加三个QRLabel组件,分别将组件,分别将Caption属性设置为属性设置为“系部编码系部编码”、“系部名称系部名称”“系部拼音码系部拼音码”。则报表的标题栏会显示出。则报表的标题栏会显示出“系系部编码表字样,而字段名称栏显示部编码表字样,而字段名称栏显示“系部编码系部编码”、“系部系部名称名称”“系部拼音码系部拼音码”,如图,如图7.2与图与图7.3所示。所示。7.1.2 QuickReport
31、组件组件 4QRDBText组件:显示数据表中字段值。组件:显示数据表中字段值。主要属性如下:主要属性如下:DataSet:选择数据集组件:选择数据集组件ADOTable或或ADOQuery;DataFields:选择数据表中字段。:选择数据表中字段。如在例如在例7.1的报表字段值明细栏中添加的报表字段值明细栏中添加3个个QRDBText组件,设置组件,设置其属性如下:其属性如下:DataSet:Form7_1.Table_TB06 ;DataFields:TB0601、TB0602、TB0603;如图如图7.2所示。所示。7.1.2 QuickReport组件组件7.1.2 QuickRep
32、ort组件组件 5QRDBImage组件:显示输出数据表中的图片。组件:显示输出数据表中的图片。DataSet属性:选择数据集组件属性:选择数据集组件ADOTable或或ADOQuery。DataFields属性:选择数据表中的某图形字段。属性:选择数据表中的某图形字段。6QRSysData组件:在报表中添加一些系统信息,如:报组件:在报表中添加一些系统信息,如:报表标题、页数、时间、日期、记录数等。主要属性如下:表标题、页数、时间、日期、记录数等。主要属性如下:7.1.2 QuickReport组件组件(1Data属性属性指定指定QRSysData组件显示的信息数据类型,可以有组件显示的信息
33、数据类型,可以有7个:个:qrsDate:当前日期;:当前日期;qrsDateTime:当前日期与时间;:当前日期与时间;qrsDetailCount:报表内记录总数;:报表内记录总数;qrsDetailNo:当前记录号;:当前记录号;qrsPageNumber:当前的页码;:当前的页码;qrsReportTitle:报表标题;:报表标题;qrsTime:当前时间。:当前时间。7.1.2 QuickReport组件组件(2Text属性:用于在输出系统信息前加一个字符串,用于属性:用于在输出系统信息前加一个字符串,用于说明输出信息的含义。如说明输出信息的含义。如Data属性为属性为qrsDate
34、,则可以将,则可以将Text属性设置为属性设置为“当前日期当前日期”。在例在例7.1的报表汇总栏中添加的报表汇总栏中添加 QRSysData组件,设置属性为:组件,设置属性为:Data:qrsDetailCount ;显示报表内的记录数,即系部个数;显示报表内的记录数,即系部个数Text:系部个数:系部个数: ;输出格式为:;输出格式为: 系部个数:系部个数:6在页脚框中添加在页脚框中添加QRSysData组件,设置属性为:组件,设置属性为:Data:qrsDate;显示当前日期;显示当前日期Text:当前日期:当前日期: ;输出格式为:;输出格式为: 当前日期:当前日期:2019-08-08
35、如图如图7.2与图与图7.3所示。所示。7.1.2 QuickReport组件组件7QRShape组件:用于在报表内画一些简单的几何图形,组件:用于在报表内画一些简单的几何图形,如水平线、垂直线、矩形、圆等图形。主要属性如下:如水平线、垂直线、矩形、圆等图形。主要属性如下:(1Brush属性属性用于填充几何图形的内部。有两个子属性:用于填充几何图形的内部。有两个子属性:Color:用于选择填充颜色;:用于选择填充颜色;Style:用于选择填充图案。:用于选择填充图案。(2Pen属性属性用于设置如何画出几何图形的边框,有颜色用于设置如何画出几何图形的边框,有颜色Color、模式、模式Mode、线
36、型、线型Style、线宽、线宽Width四种子属性供设置。四种子属性供设置。7.1.2 QuickReport组件组件(3Shape属性:指定要绘制的图形样式,属性:指定要绘制的图形样式,6种样式如下:种样式如下:qrsCircle:绘制一个圆;:绘制一个圆;qrsHorLine:绘制一条水平直线;:绘制一条水平直线;qrsVerLine:绘制一条垂直直线;:绘制一条垂直直线;qrsRectangle:绘制一个矩形;:绘制一个矩形;qrsRightAndLeft:在左边与右边绘制一条直线;:在左边与右边绘制一条直线;qrsTopAndBottom:在顶部与底部绘制一条直线。:在顶部与底部绘制一
37、条直线。7.1.2 QuickReport组件组件在例在例7.1的报表中添加垂直列线的方法如下:的报表中添加垂直列线的方法如下:从从QReport页中选择页中选择QRShape组件,向字段名称栏与字段值组件,向字段名称栏与字段值明细栏中添加四个明细栏中添加四个QRShape组件,设置其组件,设置其Shape属性为属性为qrsVerLine,并适当调整其高度与栏高相同。如图,并适当调整其高度与栏高相同。如图7.2所示。所示。此时运行例此时运行例7.1的程序,用鼠标单击的程序,用鼠标单击按钮后,出现打印按钮后,出现打印预览界面如图预览界面如图7.3所示。所示。 8QRExpr组件组件:为数据报表提
38、供计算功能。为数据报表提供计算功能。如求和如求和Sum()、求平均值、求平均值Avarage()等。等。QRExpr组件通过组件通过Master属性指定属性指定QuickRep组件,而组件,而QuickRep组件通过其组件通过其DataSet属性指定数据集,因此,属性指定数据集,因此,QRExpr组件可访问数据组件可访问数据表中的字段。其主要属性如下:表中的字段。其主要属性如下:(1Master属性:用于选择要连接的属性:用于选择要连接的QuickRep组件,从组件,从而实现与数据集组件的连接。而实现与数据集组件的连接。(2Expression属性属性Expression属性用于实现数据报表的
39、计算功能。单击该属性属性用于实现数据报表的计算功能。单击该属性的省略按钮,进入对话框,如图的省略按钮,进入对话框,如图7.6所示。所示。7.1.2 QuickReport组件组件7.1.2 QuickReport组件组件图图7.6 对话框的对话框的Expression Wizard单击单击Database Field按钮可选择数据字段,单击按钮可选择数据字段,单击Function按按钮可选择计算函数,单击钮可选择计算函数,单击Variable按钮可选择变量。按钮可选择变量。读者应注意,只有当数据集组件读者应注意,只有当数据集组件ADOTable或或ADOQuery位于报表窗体内时,才能从位于报
40、表窗体内时,才能从Database Field对话框中选择所对话框中选择所需的字段。在例需的字段。在例7.1中,由于中,由于Table_TB06位于主窗体位于主窗体Form7_1中,所以中,所以Database Field对话框中不显示对话框中不显示TB06表的表的字段名。因而无法使用字段名。因而无法使用QRExpr组件进行各类统计。组件进行各类统计。7.1.2 QuickReport组件组件(1在应用系统程序中增加在应用系统程序中增加QuickReport新窗体;新窗体;(2设置设置QuickRep组件属性,并在报表预览单元文件的组件属性,并在报表预览单元文件的implementation部
41、分加入部分加入uses 主单元文件名;主单元文件名;(3在报表的各栏中添加组件,依次设计页眉在报表的各栏中添加组件,依次设计页眉PageHeader、字段标题栏、字段标题栏Column Header、报表细明栏、报表细明栏Detail、报表汇总栏、报表汇总栏Summary与页脚与页脚Page Footer,并在报表,并在报表栏中加竖线。栏中加竖线。(4工程文件中删除自动创建工程文件中删除自动创建QuickReport窗体的语句窗体的语句(5在调用报表主窗体的单元文件中的在调用报表主窗体的单元文件中的implementation部部分加入分加入uses 报表单元文件名;报表单元文件名;(6在调用
42、报表窗体中增加打印与预览按钮,并在处理在调用报表窗体中增加打印与预览按钮,并在处理事件中编写报表打印与预览程序。事件中编写报表打印与预览程序。7.1.3 建立报表的步骤建立报表的步骤2编辑数据表编辑数据表数据表被打开后便可进行数据录入、修改与删除等操作。数据表被打开后便可进行数据录入、修改与删除等操作。(1单击工具栏中的单击工具栏中的按钮,使数据表按钮,使数据表TB06处处于编辑状态,此时于编辑状态,此时 Edit Data按钮处于按下状态。按钮处于按下状态。(2在在TB06中输入表中输入表5.1中的系部编码数据。对于已输入中的系部编码数据。对于已输入的数据可进行修改。的数据可进行修改。(3再
43、次单击再次单击按钮,使其处于弹出状态,则按钮,使其处于弹出状态,则数据表数据表TB06只能浏览而不能编辑。只能浏览而不能编辑。5.4.3 打开与编辑数据表打开与编辑数据表5.4.3 打开与编辑数据表打开与编辑数据表图图5.25 数据表编辑界面数据表编辑界面E d i t Data 3插入记录插入记录 当数据表处于编辑状态时,按当数据表处于编辑状态时,按键或选择菜单键或选择菜单Record | Insert),可在当前记录前插入一条空记录。并输),可在当前记录前插入一条空记录。并输入相关的数据。入相关的数据。 4删除记录删除记录 选择要删除的记录,然后按选择要删除的记录,然后按Ctrl+Del键
44、或选择菜单键或选择菜单Record | Delete即可删除该记录。即可删除该记录。 到此,已完成数据表到此,已完成数据表TB06建立与数据录入工作。由此建立与数据录入工作。由此可见,用可见,用Desktop工具建立数据表,录入数据是非常方便的。工具建立数据表,录入数据是非常方便的。5.4.3 打开与编辑数据表打开与编辑数据表 与数据库引擎与数据库引擎BDE类似,在类似,在Desktop中也可以通过定中也可以通过定义数据库别名的方式来访问各种类型的数据库。在义数据库别名的方式来访问各种类型的数据库。在Desktop中可为不同的数据库创建数据库别名,从而实中可为不同的数据库创建数据库别名,从而实
45、现对不同数据库中数据表的处理,以及不同数据库之间现对不同数据库中数据表的处理,以及不同数据库之间的数据拷贝。可使用菜单命令的数据拷贝。可使用菜单命令Tools | Alias Manager创创建数据库别名。建数据库别名。5.4.4 创建数据库别名创建数据库别名(1启动别名对话框。执行菜单命令启动别名对话框。执行菜单命令Tools | Alias Manager,可启动别名管理对话框,如图,可启动别名管理对话框,如图5.26所示。所示。(2建立新数据库别名。单击图建立新数据库别名。单击图5.26中的中的按钮,出按钮,出现新建数据库别名对话框。现新建数据库别名对话框。输入数据库别名:输入数据库别
46、名:Xsgl_Access选择驱动程序类型:选择驱动程序类型:MSACCESS输入数据库路径与文件名:输入数据库路径与文件名:D:Xsdagl_AccessDataXsda.mdb,如图,如图5.27所示。所示。5.4.4创建数据库别名创建数据库别名图图5.26 数据库别名管理对话框数据库别名管理对话框5.4.4创建数据库别名创建数据库别名图图5.27 建立建立Access数据库别名数据库别名5.4.4创建数据库别名创建数据库别名(3保存数据库别名。保存数据库别名。单击单击按钮将新数据库别名按钮将新数据库别名Xsgl_Access保存到保存到Desktop中去。中去。(4用别名连接数据库。用别
47、名连接数据库。单击单击按钮,对话框图像变灰说明连接成功,如按钮,对话框图像变灰说明连接成功,如图图5.28所示。单击所示。单击按钮,将别名按钮,将别名Xsgl_Access保存到配保存到配置文件置文件IDAPI32.CFG中去。此时,用别名中去。此时,用别名Xsgl_Access可打可打开数据库开数据库Xsda.mdb中的数据表中的数据表TB06,如图,如图5.29所示。所示。5.4.4创建数据库别名创建数据库别名5.4.4创建数据库别名创建数据库别名图图5.28与与Xsda.mdb数据库连接成功数据库连接成功图图5.29用别名用别名Xsgl_Access打开数据表打开数据表TB065.4.4
48、创建数据库别名创建数据库别名(5删除数据库别名。在图删除数据库别名。在图5.27中单击中单击按按钮可删除数据库别名。钮可删除数据库别名。阐明:在阐明:在Delphi中,可以通过中,可以通过BDE、Desktop、SQL Explorer 三种工具创建数据库别名,所创建的数据库别三种工具创建数据库别名,所创建的数据库别名在名在Delphi中是通用的,即用中是通用的,即用BDE创建的别名将出现在创建的别名将出现在Desktop与与SQL Explorer中,同样用中,同样用Desktop创建的别名创建的别名也会出现在也会出现在BDE与与SQL Explorer中。中。读者可参考用读者可参考用BDE
49、创建别名的方法,用创建别名的方法,用Desktop为为SQL Server数据库建立别名。数据库建立别名。5.4.4创建数据库别名创建数据库别名Desktop为用户提供了一个非常实用的数据处理工具为用户提供了一个非常实用的数据处理工具Utilities,该工具可实现数据表的添加,该工具可实现数据表的添加Add、复制、复制Copy、清、清空记录空记录Erase、数据表删除、数据表删除Delete、数据记录排序、数据记录排序Sort等操作,等操作,现介绍如下。现介绍如下。1数据添加命令数据添加命令Add数据添加是将数据库中源数据表中的记录添加到同一数据数据添加是将数据库中源数据表中的记录添加到同一
50、数据库或另一数据库的目标数据表中去。库或另一数据库的目标数据表中去。执行执行Add命令的条件是源数据表与目标数据表的表结构应命令的条件是源数据表与目标数据表的表结构应一致。一致。5.4.5 实用数据处理工具实用数据处理工具例例5.6 将将TB06中的所有记录添加中的所有记录添加TB06_1表中去。表中去。(1选择源数据表选择源数据表用鼠标单击菜单用鼠标单击菜单Tools | Utilities | Add,出现选择源数,出现选择源数据表的对话框,如图据表的对话框,如图5.30所示。所示。从别名从别名Alias栏中选择数据库别名栏中选择数据库别名Acs_Xsda,Access数数据库据库Xsda
51、.mdb中所有数据表出现在选择框中,从中可选中所有数据表出现在选择框中,从中可选择源数据表,如系部编码表择源数据表,如系部编码表TB06。5.4.5 实用数据处理工具实用数据处理工具5.4.5 实用数据处理工具实用数据处理工具图图5.30 选择源数据表选择源数据表(2选择目标数据表选择目标数据表按按键后出现选择目标数据表的对话框如图键后出现选择目标数据表的对话框如图5.31所示。所示。在该对话框中选择目标数据表在该对话框中选择目标数据表TB06_1。在。在Options栏中选择栏中选择Append,按,按按钮,即可将源数据表文件按钮,即可将源数据表文件TB06中所有中所有记录添加到目标数据表文
52、件记录添加到目标数据表文件TB06_1中去。打开中去。打开TB06_1数据数据表发现表发现TB06中的中的6条记录已被添加到条记录已被添加到TB06_1表中。表中。若选择若选择Update,则进行数据的替换操作,若选择,则进行数据的替换操作,若选择Append & Update,则进行数据的添加与替换操作。,则进行数据的添加与替换操作。5.4.5 实用数据处理工具实用数据处理工具5.4.5 实用数据处理工具实用数据处理工具图图5.31 选择目标数据表文件选择目标数据表文件2数据拷贝命令数据拷贝命令Copy例例5.7 将将Xsda.mdb中的中的TB06数据表复制到数据表复制到SQL S
53、erver数据库数据库Xsda中去,改名为中去,改名为TB06_1。(1选择源数据表选择源数据表用鼠标单击菜单用鼠标单击菜单Tools | Utilities | Copy ,出现与图,出现与图5.30相似的选择源数据表的对话框,从中选择数据库别名相似的选择源数据表的对话框,从中选择数据库别名如如Acs_Xsda与源数据表如与源数据表如TB06)。)。5.4.5 实用数据处理工具实用数据处理工具(2选择目标数据表选择目标数据表按按键后出现与图键后出现与图5.31类似的选择目标数据表的对类似的选择目标数据表的对话框。从中选择数据库别名如话框。从中选择数据库别名如SQL_Xsda与目标数与目标数据
54、表如输入据表如输入TB06_1)。按)。按按钮,即可将源数按钮,即可将源数据表据表TB06中所有记录拷贝到目标数据表中所有记录拷贝到目标数据表TB06_1中去。中去。5.4.5 实用数据处理工具实用数据处理工具留意:留意:Add命令与命令与Copy命令的区别是,命令的区别是,Add命令将源数据命令将源数据表的所有记录添加到目标数据表的尾部,且目标数据表的原表的所有记录添加到目标数据表的尾部,且目标数据表的原记录保持不变。而记录保持不变。而Copy命令则是将源数据表全部记录复制命令则是将源数据表全部记录复制到目标数据表中,同时覆盖目标数据表的全部记录。若目标到目标数据表中,同时覆盖目标数据表的全
55、部记录。若目标数据表不存在则新建目标数据表,并复制数据记录到新建数数据表不存在则新建目标数据表,并复制数据记录到新建数据表中去。用据表中去。用Copy命令可将命令可将Access数据库中的所有数据表复数据库中的所有数据表复制到制到SQL Server数据库中去。数据库中去。5.4.5 实用数据处理工具实用数据处理工具3清空数据表命令清空数据表命令Empty用鼠标单击菜单用鼠标单击菜单Tools | Utilities | Empty ,出现与图,出现与图5.30相似的选择数据表对话框。选择要清空的数据表,如选择相似的选择数据表对话框。选择要清空的数据表,如选择数据库别名数据库别名Acs_Xsd
56、a中的数据表中的数据表TB06_1,按,按键键后,后,TB06_1所有记录被清空。所有记录被清空。4删除数据表命令删除数据表命令Delete用鼠标单击菜单用鼠标单击菜单Tools | Utilities | Delete ,出现与图,出现与图5.30相似的选择数据表对话框。选择要删除的数据表,如选择相似的选择数据表对话框。选择要删除的数据表,如选择数据库别名数据库别名SQL_Xsda中的数据表中的数据表TB06_1,按,按键键后,后,TB06_1表被删除。表被删除。5.4.5 实用数据处理工具实用数据处理工具SQL Explorer的功能。的功能。(1浏览数据库所包含数据表、字段、存储过程和索
57、引等浏览数据库所包含数据表、字段、存储过程和索引等数据对象;数据对象;(2创建和维护数据库别名,方法与创建和维护数据库别名,方法与BDE Administrator类似;类似;(3编辑和显示数据表中的记录;编辑和显示数据表中的记录;(4执行执行SQL语句,对数据库中数据表进行查询、插入、语句,对数据库中数据表进行查询、插入、修改与删除操作。修改与删除操作。5.5 SQL 浏览器浏览器SQL Explorer5.5.1 SQL 浏览器主面界浏览器主面界1启动启动SQL 浏览器浏览器从从Windows操作系统中依次选择命令:操作系统中依次选择命令: 开场开场 | 程序程序 | Borland De
58、lphi7 | SQL Explorer,启动后窗体如图,启动后窗体如图5.32所所示。示。5.5 SQL 浏览器浏览器SQL Explorer图图5.32 SQL Explroer浏览器浏览器5.5.1 SQL 浏览器主面界浏览器主面界2SQL 浏览器主面界浏览器主面界(1用户区左侧窗体用户区左侧窗体Databases 选择卡中包含在选择卡中包含在BDE中创建的别名如中创建的别名如Acs_Xsda、SQL_Xsda),以及在),以及在Desktop中创建的别名中创建的别名如如Xsgl_Access)。双击别名,在右侧窗体内显示数据库)。双击别名,在右侧窗体内显示数据库别名的配置信息,如图别名
59、的配置信息,如图5.32所示。所示。5.5.1 SQL 浏览器主面界浏览器主面界单击别名前的单击别名前的“+”可显示可显示Tables表)、表)、Procedures存储存储过程等信息,单击过程等信息,单击Tables前的前的“+”号,可打开数据库中所号,可打开数据库中所有数据表如有数据表如GC01、GC02等),再单击数据表前的等),再单击数据表前的“+”号,号,可显示表的字段、索引、检查约束、外键约束等对象,如可显示表的字段、索引、检查约束、外键约束等对象,如图图5.32所示;再双击对象可在窗体右侧显示对象的更详细信所示;再双击对象可在窗体右侧显示对象的更详细信息。息。5.5.1 SQL
60、浏览器主面界浏览器主面界(2用户区右侧窗体用户区右侧窗体用户区右侧窗体包含三个选择卡:用户区右侧窗体包含三个选择卡:Definition 选择卡,用于显示数据表的有关信息,如数选择卡,用于显示数据表的有关信息,如数据表的类型,建立日期等,如图据表的类型,建立日期等,如图5.33所示。所示。Data选择卡,用于显示数据表的内容,如图选择卡,用于显示数据表的内容,如图5.34右侧显右侧显示示TB06数据表的全部记录内容。用户可对此数据进行编辑数据表的全部记录内容。用户可对此数据进行编辑修改。修改。Enter SQL选择卡,用于输入选择卡,用于输入SQL语句。语句。5.5.1 SQL 浏览器主面界浏览器主面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长沙学院《卫星通信系统》2023-2024学年第一学期期末试卷
- 述职报告招聘留存模板
- 职业导论-房地产经纪人《职业导论》名师预测卷5
- 同学聚会发言稿
- 人教版四年级数学上册寒假作业(十四)巧数图形(含答案)
- 陕西省西安市部分学校2024-2025学年高二上学期第四次阶段性检测生物试卷(有答案)
- 二零二五版全国知识产权代理公司商标转让及运营管理合同2篇
- 二零二五版国际贸易仲裁条款适用合同模板2篇
- 延安大学西安创新学院《地图学》2023-2024学年第一学期期末试卷
- 产权技术合同在产学研合作中的优化路径研究
- 2024-2025学年九年级语文上学期第三次月考模拟卷(统编版)
- 法人代持免责任协议书(2篇)
- 产业链治理协同性
- 闸站监理实施细则
- 高三课题研究报告范文
- 2024年初三数学竞赛考试试题
- 窦性心动过速的危害
- 深基坑工程基坑土方开挖及支护降水施工方案
- 2024年江西生物科技职业学院单招职业技能测试题库带解析答案
- 医药制造企业资本结构优化研究以贵州百灵为例
- GB 31335-2024铁矿开采和选矿单位产品能源消耗限额
评论
0/150
提交评论