
第10章报表与标签设计及应用.doc
20页第 10 章 报表与标签设计及应用打印报表是用户获取信息的一条重要途径VFP 提供了设计报表的可视化工具—报表设计器利用报表设计器创建报表不仅可以按指定格式打印出表中相应数据内容,而且还具备了数据计算、统计、自动布局等功能标签是一种特殊格式的报表,是多列布局的报表,它的创建、设计方法与报表基本相同报表文件的扩展名为 FRX,标签文件的扩展名为 LBX在报表和标签文件中并不存储数据源中的每个数据,仅存储数据的位置和格式信息10.1 创建简单报表报表包括两个基本组成部分:数据源和数据布局数据源指定了报表中的数据来源,报表的数据源通常是数据库表和自由表,也可以是临时表、查询或视图;数据布局指定了报表中输出内容的位置及格式简单地说,报表就是在指定的数据源中提取数据,按照布局定义的位置及格式输出数据VFP 提供了报表向导、报表设计器和快速报表 3 种创建报表的方法10.1.1 报表布局在创建报表之前,首先应该根据实际需要,确定报表格式报表布局就是定义报表的打印格式4 种类型报表的布局格式如图 10.1,在表 10.1 中对各类报表布局进行说明图 10.1 报表布局格式表 10.1 报表布局类型说明布局类型 说 明 示 例列报表 每个字段一列,字段名在页面上方按水平方向放置,字段与数据在同一列,每行一条记录 分组/总计报表、销售总结、财政报表行报表 每个字段一行,字段名在数据左侧,字段与数据在同一行列表一对多报表 按一对多关系显示表中的记录,包括父表的记录及其子表的相关记录发票 会计报表多栏报表 多列记录,每条记录的字段沿分栏的左边缘竖直放置 号码薄、名片10.1.2 使用“报表向导”创建报表“报表向导”是创建报表最简单的方法,可以通过回答报表向导提示的一系列问题进行报表设计。
报表的数据源可以是表、临时表或视图启动报表向导的方法如下:方法一:“文件”菜单→“新建”→选择“报表”→“向导”按钮方法二:常用工具栏上“新建”→选择“报表” →“向导”按钮方法三:项目管理器中“文档”选项卡→“报表”→“新建”按钮→“报表向导” 方法四:“工具”菜单→“向导”→“报表” ,直接打开报表向导启动报表向导后,首先弹出“向导选取”对话框,该对话框中有“报表向导”和“一对多报表向导”两个选择如果报表的数据源是一个表,则选取“报表向导” ;如果报表的数据源包括父表和子表,则应该选取“一对多报表向导” 然后按向导的提示步骤即可生成一个简单的报表文件 例 10.1 】使用报表向导建立学生成绩报表(Xscjbb.frx) ,用来显示学生的学号、姓名、性别、学院、课程和总分,并且按照总分由高到低排列1)打开数据源:在命令窗口中键入:Use Xsxxb,打开 Xsxxb.dbf 文件作为该报表的数据源2)打开报表向导:“文件”菜单→“新建”→选择“报表”→“向导”按钮,出现了“向导选取”对话框本例的数据源是一个表,故选择 “报表向导” 3)使用报表向导:设置报表中出现的字段(如图 10.2) ,在“数据库和表”列表框中可以选择报表的数据源,默认的数据源是前面已打开的 Xsxxb 表;在“可用字段”列表框中自动显示表中的所有字段,依次双击学号、姓名、性别、学院、课程和总分字段名后,在“选定字段”列表框中就显示出这些将在报表中输出的字段。
4)分组记录:设置数据分组方式,只有先按照分组字段建立索引之后才能进行分组最多可以进行 3 级分组在此例中不需要分组,直接单击“下一步”按钮5)选择报表样式:设置报表的样式,有经营式、帐务式、简报式、带区式和随意式选择“帐务式” ,单击 “下一步” 6)定义报表布局:如图 10.3,通过对“列数” 、 “字段布局”和“方向”的设置来定义报表布局图 10.2 报表向导-“字段选取”图 10.3 报表向导-“定义报表布局” 列数:定义报表的分栏数 字段布局:定义报表是列报表或者是行报表 方向:定义报表在输出时打印纸的打印方向是横向还是纵向7)排序记录:设置记录在报表中出现的次序最多可以设置 3 个排序字段在“可用字段或索引标识”列表框中双击“总分”字段,选中“降序”选项,使报表中的数据按照总分字段降序排列8)完成:可以选择“保存” 、 “保存报表并在报表设计器中修改”或“保存并打印报表” 通常在打印报表前,应先单击“预览”按钮查看一下效果最后单击“完成”按钮,将报表保存为文件名为 Xscjbb.frx 的报表文件10.1.3 使用“快速报表”创建报表除了使用报表向导之外,还可以使用 VFP 的“快速报表”功能快速创建格式简单的报表。
即“快速报表”功能可以将一个表或视图中的所需字段快速添加到报表文件中,形成一个简单格式的报表 例 10.2 】使用 “快速报表”功能建立学生信息报表(Xsbb.frx) ,用来显示学生的学号、姓名、出生日期和民族码1)新建空白报表:打开报表设计器,新建一个空白的报表方法:“文件”菜单→“新建”→选择“报表”→“新建文件”按钮2)设置数据源:“报表” 菜单→“快速报表” ,系统首先弹出“打开”对话框,用户选择一个在报表中所要使用的数据源,该例选择 Xsb.dbf单击“确定”按钮,系统弹出 “快速报表”对话框(如图 10.4) 图 10.4 “快速报表”对话框(3)设置“快速报表”:在“快速报表”对话框中各选项的功能如下: 字段布局:系统提供两种报表的字段布局方式,分别是列布局与行布局列布局是使字段从左向右的横向排列,而行布局是使字段从上向下的竖向排列 标题:若选中该复选框,表示自动为每一个字段添加一个字段名标题,否则不自动添加 添加别名:若选中该复选框,则自动在报表中每个字段前面添加表别名,否则不自动添加 将表添加到数据环境中:若选中该复选框,则自动将表添加到数据环境中 字段:单击“字段”按钮,显示“字段选择器”对话框,可以在其中选择要在报表中显示的字段。
此例首先选定为列布局,并将“标题” 、 “添加别名”和“将表添加到数据环境中”3 个复选框的内容都选中然后单击“字段”按钮,在“字段选择器”窗口中分别双击学号、姓名、出生日期和民族码字段,将其加入到右侧的“选定字段”列表中去,单击“确定”按钮结束字段的选择4)预览、保存报表:经过前面的操作后,单击 “快速报表 ”窗口中的“确定”按钮,此时在“报表设计器”窗口中出现了刚刚建立的学生信息报表然后单击系统菜单项“显示”菜单→“预览” ,在屏幕中浏览该报表的输出形式,最后保存为 Xsbb.frx报表文件10.2 设计报表无论使用“报表向导”创建的报表,还是利用“快速报表”功能创建的报表,都比较方便快捷,但是格式过于简单不能完全满足用户的需要因此,可以直接利用“报表设计器”为新建的空白报表设计其布局、设置报表的数据源、添加报表控件及指定数据在页面中的位置等,也可以使用“报表设计器”修改已经创建的报表文件,使其能够达到用户的要求10.2.1 打开“报表设计器”1. 新建空白报表打开“报表设计器” ,新建一个空白的报表的方法有:方法一:“文件”菜单→“新建”→选择“报表”→“新建文件”按钮方法二:项目管理器中“文档”选项卡→“报表”→“新建”按钮→“新建报表” 。
方法三:使用 Create Report 命令命令格式:Create Report 【 例 10.3 】在命令窗口中键入:Create Report Xsbb2. 打开已经建立的报表生成报表文件以后,可以利用“报表设计器”进一步设计报表打开报表文件的方法如下:方法一:“文件”菜单→“打开”→ “文件类型”选择“报表”→双击需要修改的报表文件方法二:使用 Modify Report 命令命令格式:Modify Report 【 例 10.4 】在命令窗口中键入:Modify Report Xsbb10.2.2 报表设计器简介前面的方法可以打开“报表设计器”窗口,如图 10.5图 10.5 “报表设计器”窗口1. 报表带区从图 10.5 中可以看出,一个报表被多条带状标识栏分隔成了若干区域,每一区域称为报表的一个带区报表中可以有各种不同类型的带区,每个带区的名称在带区下面的标识栏上显示带区的主要作用是用来控制数据在页面上的打印位置,系统以不同的方式处理不同带区的数据首次启动报表设计器时,报表布局中包含 3 个基本带区,分别是“页标头”带区、“细节”带区和“页注脚”带区 “页标头”带区:相当于报表的页眉区。
系统在每页顶端打印一次该带区的内容,通常是该列要打印字段的字段名 “细节”带区:相当于报表的内容区,是报表中最主要的带区用来输出表记录内容,系统每条记录打印一次,打印的总次数由表中实际记录个数决定 “页注脚”带区:相当于报表的页脚区系统在每页底端打印一次该带区的内容,通常是页号、时间等内容系统除了这 3 个带区外还有其它带区每个带区的用途以及添加方法参考表10.2表 10.2 报表带区用途及添加方法带区名称 用 途 添 加 方 法标题 每个报表开头一次,可以放置报表标 从“报表”菜单中选中“标题/总带区名称 用 途 添 加 方 法题、公司标志等 结”页标头 每页一次,可以放置日期、列报表的列标题等启动“报表设计器”自动添加细节带区 每条记录一次 启动“报表设计器”自动添加组标头 每个数据分组一次,可以放置分组字段、分隔线等从“报表”菜单中选中“数据分组”组注脚 每个数据分组一次,可以放置分组总计等从“报表”菜单中选中“数据分组”页注脚 每页一次,可以放置页码、日期等 启动“报表设计器”自动添加总结 每个报表一次,可以放置一些总计内容从“报表”菜单中选中“标题/总结”列标头 在分栏报表中每列一次 从“文件”菜单中选择“页面设置” ,设置“列数”的数值大于 1列注脚 在分栏报表中每列一次 从“文件”菜单中选择“页面设置” , 设置“列数”的数值大于 1用户可以根据需要将信息保存在不同的带区中。
在 “报表设计器”窗口中可以根据需要调整带区的高度只要将鼠标指针指向要调整高度的带区的标识栏,参照左侧标尺拖动鼠标,即可调整带区到合适的高度2. 数据环境设计器创建报表时,应先为报表指定数据源如果一个报表的数据源总是相同的,就可以把数据源添加到报表的“数据环境设计器”中每次打开、运行报表时,系统会自动打开数据环境中定义的表和视图作为数据源关闭报表时,系统会自动关闭已经打开的数据环境中的表和视图 打开数据环境设计器方法一:在“报表设计器”窗口中右击鼠标→“数据环境” 方法二:在“报表设计器”窗口打开的情况下, “显示”菜单→“数据环境” 在“数据环境设计器”中添加、 删除表添加表的方法:在“数据环境设计器”窗口中右击鼠标→“添加” 删除表的方法:在“数据环境设计器”窗口中选中要删除的表,按 Delete 键如果添加进来的两个数据库表之前已经建立了永久关系,那么此关系也会自动带入到“数据环境设计器”中 利用数据环境,在报表中添加控件: 与表单的数据环境相同,系统允许将报表数据环境的表中字段直接拖拽到“报表设计器”的适当位置,生成相应控件 设置报表中记录的顺序:默认情况下,输出报表中的记录顺序是数据源表中的物理顺序。
如果想要按照一定顺序输出报表中的记录,需要为数据环境中的表或视图设置索引方法:在“数据环境设计器”中,右击表或视图,选择“属性” ,然后在“属性”对话框中设置“Order”属性的属性值作为排序关键字注意:“Order”的属性值只能在该表中已经建立的索引标识中选择3. “报表控件”工具栏定义好报表布局和设置数据环境之后,就要开始添加报表控件了通常情况下,在打开“报表设计器”窗口的同时, “报表控件”工具栏会随之自动打开如果没有打开或者工具栏被关闭了,则可以通过单击“显示”菜单→“。
