数据源和报表布局_第1页
数据源和报表布局_第2页
数据源和报表布局_第3页
数据源和报表布局_第4页
数据源和报表布局_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第15章章 报报 表表15.1 数据源和报表布局数据源和报表布局15.2 创建报表布局创建报表布局15.3 设计报表设计报表15.4 报表分组与多栏报表报表分组与多栏报表15.5 预览和打印报表预览和打印报表15.1 数据源和报表布局数据源和报表布局15.1.1 决定报表的常规布局决定报表的常规布局 创建报表之前,应该确定所需报表的格式。报表可能同创建报表之前,应该确定所需报表的格式。报表可能同基于单表的电话号码列表一样简单,或者复杂得像基于多表基于单表的电话号码列表一样简单,或者复杂得像基于多表的发票那样。也可以创建特殊种类的报表。例如,邮件标签的发票那样。也可以创建特殊种类的报表。例如,

2、邮件标签便是一种特殊的报表,其布局必须满足专用纸张的要求。如便是一种特殊的报表,其布局必须满足专用纸张的要求。如图图15-1所示为常规报表布局。所示为常规报表布局。15.1.2 报表布局文件报表布局文件 报表布局文件具有报表布局文件具有.FRX文件扩展名,它存储报表的详细说文件扩展名,它存储报表的详细说明。每个报表文件还有具有明。每个报表文件还有具有.FRT文件扩展名的相关文件。报表文件扩展名的相关文件。报表文件指定了想要的域控件、要打印的文本以及信息在页面上的文件指定了想要的域控件、要打印的文本以及信息在页面上的位置。若要在页面上打印数据库中的一些信息,可通过打印报位置。若要在页面上打印数据

3、库中的一些信息,可通过打印报表文件达到目的。报表文件不存储每个数据字段的值,只存储表文件达到目的。报表文件不存储每个数据字段的值,只存储一个特定报表的位置和格式信息。每次运行报表,值都可能不一个特定报表的位置和格式信息。每次运行报表,值都可能不同,这取决于报表文件所用数据源的字段内容的更改。同,这取决于报表文件所用数据源的字段内容的更改。15.1.3 本章所涉的数据源本章所涉的数据源 本章使用第本章使用第12章所创建的数据库:章所创建的数据库:xsgl(学生管理)中的数(学生管理)中的数据表作为数据源。据表作为数据源。15.2 创建报表布局创建报表布局15.2.1 快速报表 “快速报表”是一项

4、省时的功能,可以创建一个格式极简单的报表。通常先使用快速报表功能来创建一个简单报表,然后在此基础上做修改,达到快速构造的目的。 下面通过实例说明创建快速报表的操作步骤。【例15-1】利用快速报表功能建立一个简单报表,报表的内容是xs表的记录(全部记录,横向)。 15.2.3 启动“报表设计器” 如果不想使用“报表向导”或“快速报表”,也可以使用“报表设计器”从空白报表布局开始,然后添加控件来设计报表。启动“报表设计器”的步骤如下: 在“项目管理器”的“文档”选项卡中,选定“报表”,如图15-6左所示。 选择“新建”。在如图15-6右所示的对话框中,选择“新建报表”。此时显示“报表设计器”。可以

5、使用“报表设计器”的任何功能来添加控件和定制报表。15.3 设计报表设计报表15.3.1 报表工具栏 与报表设计有关的工具栏主要包括“报表设计器”和“报表控件”两个工具栏。单击“显示”菜单中的“工具栏”项,在弹出的“工具栏”对话框中可以设置显示或隐藏相应的工具栏。1. 报表设计器工具栏 报表设计器工具栏中共有5个工具按钮,其功能说明见表15-2。图标名称说明数据分组在报表设计过程中,单击此按钮,显示“数据分组”对话框,用于创建数据分组并指定其属性数据环境在报表设计过程中,单击此按钮,显示“数据环境设计器”窗口,可以结合用户界面同时设计一个依附的数据环境。报表控件工具栏在报表设计过程中,单击此按

6、钮,可以启动或关闭报表控件工具栏,以便于利用各控件进行用户界面的设计。调色板工具栏在报表设计过程中,单击此按钮,可以启动或关闭调色板工具栏。利用调色板工具栏可以进行各对象前景与背景颜色的设置。布局工具栏在报表设计过程中,单击此按钮,可以启动或关闭布局工具栏。利用布局工具栏可以针对对象进行位置配置和对齐设置。2. 报表控件工具栏 报表控件工具栏中共有8个工具按钮,其功能说明见表15-3。图标名称功能说明选定对象移动或更改控件的大小,在创建一个控件后,系统将自动选定该按钮,除非选中“按钮锁定”按钮标签在报表上创建一个标签控件,用于显示与记录无关的字符文本,例如标题域控件在报表上创建一个域控件,用于

7、显示字段、内存变量或其他表达式的内容线条用于在报表上绘制垂直或水平直线矩形用于在报表上绘制矩形圆角矩形用于在报表上绘制圆角矩形图片/ActiveX绑定控件用于在报表上添加图片或包含OLE对象的通用型字段按钮锁定用于添加多个同类型控件而不需要多次选中该按钮15.3.2 报表的数据源1. 向数据环境中添加表或视图 向数据环境中添加表或视图的步骤如下: 从“显示”菜单中,选择“数据环境”,打开“数据环境设计器”。 用鼠标右键单击“数据环境设计器”,从弹出的快捷菜单中选择“添加”,如图15-12左所示。 在弹出“打开”和“添加表或视图”对话框中,依次选定表或视图,然后单击“添加”按钮。 最后选择“确定

8、”按钮,返回“数据环境”设计器,如图15-12右所示。2. 为数据环境设置索引 为数据环境设置索引,可设置出现在报表中的记录顺序。为数据环境设置索引的步骤为: 从“显示”菜单中,选择“数据环境”。 用鼠标右键单击“数据环境设计器”,从弹出的快捷菜单中选择“属性”,如图15-13左所示。 在打开的“属性”窗口中,选择“对象”框中的“Cursor1”。 选择“数据”选项卡,然后,选定“Order”属性。 输入索引名。或者,从可用索引列表中选定一个索引,如图15-13右所示15.3.3 报表布局 一个良好的报表会把数据放在报表合适的位置上。在报表设计器中,报表包括若干个带区,带区的作用主要是控制数据

9、在页面上的打印位置。在打印或预览报表时,系统会以不同的方式处理各个带区的数据。1. 报表的带区 报表中可能包含的一些带区以及每个带区的典型内容如图15-14所示,注意每个带区下的栏标识了该带区。标题、日期、页码、公司标志或围绕标题的框放在此处分组字段或分隔线放在此处日期、页码、分类总计线、分类总计以及说明性文本放在此处 数据和说明性 总计文本 分组总计、小计 文本放在此处 放在此处 文本放在此处日期、页码以及页标题放在此处15.3.4 报表中的控件使用报表中的控件使用 从面向对象的角度来看,报表可看成由诸多控件组合而成。因此,对报从面向对象的角度来看,报表可看成由诸多控件组合而成。因此,对报表

10、的设计主要也是对控件及其布局的设计。这里还需要说明:表的设计主要也是对控件及其布局的设计。这里还需要说明: 可以在任何带区加入任何报表控件。可以在任何带区加入任何报表控件。 相同的报表控件安置在不同的带区时,其输出效果也不一样,故使用相同的报表控件安置在不同的带区时,其输出效果也不一样,故使用带区可以控制数据在页面上的打印位置。带区可以控制数据在页面上的打印位置。 可以调整带区大小,但不能使带区高度小于其内控件的高度。可以调整带区大小,但不能使带区高度小于其内控件的高度。 可以有多对组标头与组注脚带区。可以有多对组标头与组注脚带区。15.3.5 报表变量报表变量 若要在报表中操作数据或显示计算

11、结果,可若要在报表中操作数据或显示计算结果,可以使用报表变量。使用报表变量,可以计算各以使用报表变量。使用报表变量,可以计算各种值,并且可以用这些值来计算其他相关值。种值,并且可以用这些值来计算其他相关值。1. 创建报表变量创建报表变量 报表菜单中的变量命令可用于创建与编辑报报表菜单中的变量命令可用于创建与编辑报表变量。在表变量。在“报表报表”菜单中选择菜单中选择“变量变量”将弹将弹出出“报表变量报表变量”对话框,如图对话框,如图15-22所示。所示。其中各组件的含义如下:其中各组件的含义如下: “变量变量”列表区:用于显示已定义的报表变列表区:用于显示已定义的报表变量,并可键入报表变量。拖动

12、列表中变量名左量,并可键入报表变量。拖动列表中变量名左边的上下双箭头按钮可改变报表变量的排列次边的上下双箭头按钮可改变报表变量的排列次序。序。 “插入插入”按钮:用于在变量列表框中插入一按钮:用于在变量列表框中插入一个空文本框,以便定义新的变量。个空文本框,以便定义新的变量。 15.3.6 报表控件的布局报表控件的布局1. 选择、移动及调整报表控件的大小选择、移动及调整报表控件的大小 如果创建的报表布局上已经存在控件,则可以更改它们在报表上的位置和尺寸。如果创建的报表布局上已经存在控件,则可以更改它们在报表上的位置和尺寸。可以单独更改每个控件,也可以选择一组控件作为一个单元来处理。可以单独更改

13、每个控件,也可以选择一组控件作为一个单元来处理。 (1) 移动一个控件移动一个控件 若要移动一个控件,可以选择控件并把它拖动到若要移动一个控件,可以选择控件并把它拖动到“报表报表”带区中新的位置上。带区中新的位置上。 控件在布局内移动位置的增量并不是连续的。增量取决于网格的设置。若要忽控件在布局内移动位置的增量并不是连续的。增量取决于网格的设置。若要忽略网格的作用,拖动控件时应按下略网格的作用,拖动控件时应按下Ctrl键。键。 (2) 选择多个控件选择多个控件 若要选择多个控件,可以在控件周围拖动以画出选择框。若要选择多个控件,可以在控件周围拖动以画出选择框。 选择控点将显示在每个控件周围。当

14、它们被选中后,可以作为一组内容来移动、选择控点将显示在每个控件周围。当它们被选中后,可以作为一组内容来移动、复制或删除。复制或删除。 (3) 将控件组合在一起将控件组合在一起 通过将控件标识在一个组中,可以为多个任务将一组控件关联在一起。例如,通过将控件标识在一个组中,可以为多个任务将一组控件关联在一起。例如,将标签控件和域控件彼此关联在一起,这样不用分别选择便可移动它们。当已经将标签控件和域控件彼此关联在一起,这样不用分别选择便可移动它们。当已经设置格式并且对齐控件后,这个功能也有用,因为它保存了控件彼此间的位置。设置格式并且对齐控件后,这个功能也有用,因为它保存了控件彼此间的位置。 若要将

15、控件组合在一起:选择想作为一组处理的控件,从若要将控件组合在一起:选择想作为一组处理的控件,从“格式格式”菜单中,选菜单中,选择择“分组分组”。 选择控点将移到整个组之外。可以把该组控件作为一个单元处理。选择控点将移到整个组之外。可以把该组控件作为一个单元处理。 (4) 对一组控件取消组定义对一组控件取消组定义 若要对一组控件取消组定义,可以选择该组控件,然后从若要对一组控件取消组定义,可以选择该组控件,然后从“格式格式”菜单中,选菜单中,选择择“取消组取消组”命令。命令。 (5) 调整控件的大小调整控件的大小 如果在布局上已有控件,则可以单独地更改它的尺寸,或者调整一组控件的大如果在布局上已

16、有控件,则可以单独地更改它的尺寸,或者调整一组控件的大小使它们彼此相匹配。可以调整除标签之外任何报表控件的大小。标签的大小由小使它们彼此相匹配。可以调整除标签之外任何报表控件的大小。标签的大小由文本、字体及磅值决定。若要调整控件的大小,可以选择要调整的控件,然后拖文本、字体及磅值决定。若要调整控件的大小,可以选择要调整的控件,然后拖动选定的控点直到所需的大小。动选定的控点直到所需的大小。 (6) 匹配多个控件的大小匹配多个控件的大小 若要匹配多个控件的大小,可以选择想使其具有同样大小的一些控件,从若要匹配多个控件的大小,可以选择想使其具有同样大小的一些控件,从“格格式式”菜单中,选择菜单中,选

17、择“大小大小”。选择适当选项来匹配宽度、高度或大小,控件将按。选择适当选项来匹配宽度、高度或大小,控件将按照需要进行调整。照需要进行调整。2. 复制和删除报表控件复制和删除报表控件 可以单独或成组复制或删除布局上的任意控件。可以单独或成组复制或删除布局上的任意控件。 (1) 复制控件复制控件 选择要复制的控件,从选择要复制的控件,从“编辑编辑”菜单中,选择菜单中,选择“复制复制”,然后,选择,然后,选择“粘贴粘贴”。控件的副本将出现在原始控件下面,将副本拖动到布局上的正确位置。控件的副本将出现在原始控件下面,将副本拖动到布局上的正确位置。 (2) 删除控件删除控件 选择要删除的控件,从选择要删

18、除的控件,从“编辑编辑”菜单中,选择菜单中,选择“剪切剪切”或按或按Delete键。键。3. 对齐控件对齐控件 可以根据彼此间关系对齐控件,或者根据可以根据彼此间关系对齐控件,或者根据“报表设计器报表设计器”提供的网格放置它们。提供的网格放置它们。可以沿某一侧或居中对齐控件。可以沿某一侧或居中对齐控件。 若要对齐控件:选择想对齐的控件,从若要对齐控件:选择想对齐的控件,从“格式格式”菜单中,选择菜单中,选择“对齐对齐”。从子。从子菜单中,选择适当对齐选项。菜单中,选择适当对齐选项。Visual FoxPro使用距离所选对齐方向最近的控件作使用距离所选对齐方向最近的控件作为固定参照控件。为固定参

19、照控件。 也可以使用也可以使用“布局布局”工具栏。使用工具栏,可以同距离所选一侧最远的控件对工具栏。使用工具栏,可以同距离所选一侧最远的控件对齐,只要在单击对齐按钮时按下齐,只要在单击对齐按钮时按下Ctrl键。如图键。如图15-26所示。所示。要使所有控件按照此控件 的 左 边 对 齐 , 选 择“左边对齐”按钮要使所有控件按照此控件 的 左 边 对 齐 , 按 住Ctrl,再选择“左边对齐”按钮 选择对齐所有控件的边缘线时,应考虑到所有控件应彼此分开,而不应相互重选择对齐所有控件的边缘线时,应考虑到所有控件应彼此分开,而不应相互重叠。同一行上的控件如果沿它们右侧或左侧对齐,它们将彼此堆在一起

20、。同样,叠。同一行上的控件如果沿它们右侧或左侧对齐,它们将彼此堆在一起。同样,同一竖线上的控件上、下对齐也会重叠。同一竖线上的控件上、下对齐也会重叠。 若要居中对齐带区内的控件:选择想对齐的控件。从若要居中对齐带区内的控件:选择想对齐的控件。从“格式格式”菜单中,选择菜单中,选择“对齐对齐”。从子菜单中,选择。从子菜单中,选择“垂直居中对齐垂直居中对齐”或或“水平居中对齐水平居中对齐”。控件将。控件将移动到各自带区的垂直或水平中心。移动到各自带区的垂直或水平中心。4. 调整控件的位置调整控件的位置 使用状态条或表格控件,可以将控件放置在报表页面上的特定位置。默认情使用状态条或表格控件,可以将控

21、件放置在报表页面上的特定位置。默认情况下,控件根据网格对齐其位置。可以选择关掉对齐功能和显示或隐藏网格线。况下,控件根据网格对齐其位置。可以选择关掉对齐功能和显示或隐藏网格线。网格线可以帮助您按所需布局放置控件。网格线可以帮助您按所需布局放置控件。 若要将控件放置在特定的位置:从若要将控件放置在特定的位置:从“显示显示”菜单中,选择菜单中,选择“显示位置显示位置”。选。选择一个控件,然后使用状态栏上的位置信息将该控件移动到特定位置。择一个控件,然后使用状态栏上的位置信息将该控件移动到特定位置。 若要人工对齐控件:从若要人工对齐控件:从“格式格式”菜单中,清除菜单中,清除“对齐格线对齐格线”。

22、若要显示网格线:从若要显示网格线:从“显示显示”菜单中,选择菜单中,选择“网格线网格线”。网格将在报表带区。网格将在报表带区中显示。中显示。 若要更改网格的度量单位:从若要更改网格的度量单位:从“格式格式”菜单中,选择菜单中,选择“设置网格刻度设置网格刻度”。在。在“水平水平”、“垂直垂直”框内,分别输入代表网格每一方块水平宽度和垂直高度的框内,分别输入代表网格每一方块水平宽度和垂直高度的像素数目。像素数目。15.4 报表分组与多栏报表报表分组与多栏报表。15.4.1 报表分组报表分组 一个报表可以设置一个或多个数据分组,组的分隔基于分组表达式。一个报表可以设置一个或多个数据分组,组的分隔基于

23、分组表达式。1. 数据分组数据分组 如果数据源是表,记录的物理顺序可能不适合分组。为了使数据源适合于分组如果数据源是表,记录的物理顺序可能不适合分组。为了使数据源适合于分组处理纪录,必须对数据源进行适当的索引或排序。通过为表设置索引,或是在数据处理纪录,必须对数据源进行适当的索引或排序。通过为表设置索引,或是在数据环境中使用视图、查询作为数据源,才能达到合理分组显示纪录的目的。环境中使用视图、查询作为数据源,才能达到合理分组显示纪录的目的。 如果数据表已经设有索引,可以在数据环境中设定索引:如果数据表已经设有索引,可以在数据环境中设定索引: 为报表打开数据环境设计器。为报表打开数据环境设计器。

24、 在数据环境设计器中单击鼠标右键,从弹出的快捷菜单中选择在数据环境设计器中单击鼠标右键,从弹出的快捷菜单中选择“属性属性”,打,打开开“属性属性”窗口。窗口。 在在“属性属性”窗口中选定对象窗口中选定对象“Cursor1”。 修改其修改其“Order”属性为相应的索引名。属性为相应的索引名。2. 单级分组报表单级分组报表 单级分组报表是指表达式进行单层(一级)数据分组。例如,可以按单级分组报表是指表达式进行单层(一级)数据分组。例如,可以按“客户号客户号”分组,相同客户的纪录在一起打印。分组,相同客户的纪录在一起打印。3. 多级分组报表多级分组报表 在在Visual FoxPro报表中,最多可

25、以有报表中,最多可以有20级数据分组。嵌套分组有助于组织不级数据分组。嵌套分组有助于组织不同层次的数据和总计表达式,但在实际应用中往往只用到同层次的数据和总计表达式,但在实际应用中往往只用到3级分组。在设计多级级分组。在设计多级数据分组报表时,需要注意分组的级与多重索引的关系。数据分组报表时,需要注意分组的级与多重索引的关系。 (1) 多级数据分组基于多重索引多级数据分组基于多重索引 多级分组报表的数据源必须可以分出级别来,例如数据源中有多级分组报表的数据源必须可以分出级别来,例如数据源中有“zy”、“xm”和和“kch”等字段,可以按关键字表达式等字段,可以按关键字表达式“zy + xm +

26、 kch”建立索引,也可以按关键建立索引,也可以按关键字表达式字表达式“kch + xm + zy”建立索引。如何建立索引,应视具体情况而定。建立索引。如何建立索引,应视具体情况而定。 (2) 分组层次分组层次 一个数据分组对应于一组一个数据分组对应于一组“组标头组标头”和和“组注脚组注脚”带区。数据分组的编号按其带区。数据分组的编号按其创建的顺序而定,编号越大的分组离细节带区越近。创建的顺序而定,编号越大的分组离细节带区越近。 (3) 更改分组更改分组 在在“数据分组数据分组”对话框中可以改变分组的顺序,更改或删除组带区。对话框中可以改变分组的顺序,更改或删除组带区。 当在当在“数据分组数据

27、分组”对话框中移动组的位置而改变分组顺序时,组带区中定义的对话框中移动组的位置而改变分组顺序时,组带区中定义的所有控件都将自动移到新的位置。对组重新排序并不更改以前定义的控件,例如,所有控件都将自动移到新的位置。对组重新排序并不更改以前定义的控件,例如,框或线条以前是相对于组带区的上部或底部定位的,它们仍将固定在组带区的原框或线条以前是相对于组带区的上部或底部定位的,它们仍将固定在组带区的原位置。位置。 组被删除后,该组带区将从报表布局中删除。如果该组带区中含有控件,将提组被删除后,该组带区将从报表布局中删除。如果该组带区中含有控件,将提示同时删除控件。示同时删除控件。 需要特别注意的是,更改

28、分组后,必须重新指定索引,才能够正确组织各组的需要特别注意的是,更改分组后,必须重新指定索引,才能够正确组织各组的数据。数据。15.4.2 报表分栏 多栏报表是指分为多列打印输出的报表。如果输出的字段较少,横向只占用部分页面,可以设计成多栏报表。1. 页面设置 从“文件”菜单中选择“页面设置”菜单项,打开“页面设置”对话框,如图15-28所示。 各部分的含义如下: “列数”:主要用于报表中的数据是1栏还是多栏,默认为1栏。 “宽度”:主要用于页面的可使用宽度。 “间隔”:只有列数文本框中的值大于1是才起作用,用于设置栏与栏间的间隔。 “打印顺序”:只有列数文本框的值大于1时才起作用,用于设置栏

29、与栏数据是按从下到下还是从左到右的顺序打印。 “左页边距”:设置页面左边距。2. 设置“打印顺序” 在打印报表时,“细节”带区中的内容依“自上向下”的顺序打印(默认)。对于多栏报表,这种打印顺序只能靠左边距打印一个栏目,页面上的其他栏均为空白。为了能在页面上打印出多个栏,需要将“打印顺序”设置为“自左向右”。3. 设置“列标头”和“列注脚”带区 在“页面设置”对话框中设置“列数”,将改变报表分栏。例如设置列数为2,则将整个页面平均分为两部分,设置列数为3,则将整个页面平均分为三部分。按“确定”按钮,在报表设计器中将添加一个“列标头”带区和一个“列注脚”带区,同时“细节”带区也将相应缩短,如图1

30、5-29所示。下面以一个实例来说明多栏报表的设计。【例15-6】将例15-4的报表设计成分栏报表。 打开报表文件:report4.frx。 设置多栏报表:在页面设置中将列数设为2,在报表设计器中将添加二分之一的一对“列标头”带区和“列注脚”带区。 设置打印顺序:在“页面设置”对话框中选择打印顺序为“自左至右”,以避免只靠左边距打印一个栏目,页面上其他栏目空白。单击“确定”按钮,关闭对话框。 复制页标头带区的标签控件:zy、xm、kch、cj,并调整其位置。 调整“细节”带区各域控件的位置,如图15-30所示。 调整“标题”标签的位置(水平居中),并调整各线条控件的长度。 单击“文件”菜单中的“另存为”菜单项,在打开的“另存为”对话框中,将报表另存为report6.frx 预览效果如图15-31所示。15.5 预览和打印报表预览和打印报表 可以在定制报表布局的任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论