第9章报表和标签9.1报表概述报表用于打印文档时显示或总结数据。报表主要包括两个要素:报表的数据源和报表的布局。数据源是报表的数据来源,通常是数据库中的表文件,也可以是视图、查询或临时表。报表布局则定义了报表的打印格式。请注意,报表布局文件的扩展名为.Frx。当运行报表时,报表中的数据字段的域控件从数据源中取出数据设计报表就是根据报表的数据源和应用需要来设计报表的布局。设计报表一般可以按如下几个步骤来完成:(1)确定报表的数据源(2)确定报表的布局(3)利用报表向导或者报表设计器建立报表文件(4)预览报表(5)修改报表(6)打印报表在动手建立报表之前,需要事先对所设计的报表有一个整体的规划,确定所需要的常规格式。比如,要建立的报表的格式,要在报表中显示哪些数据等。报表可能很简单,就像电话号码列表一样,也可能像基于多表的发票一样很复杂,所选的报表布局必须适合报表的需要。报表的常规布局:nE=二三H=A=E-TLT三二心EE列报表一对多报表多栏报表标签行报表◆列报表:每行是一条记录,每个字段按水平方向放置,是最常用的报表,适用于财政报表、存货清单等统计报表。行报表:每条记录的所有字段在垂直一侧放置。+一对多报表:一个报表就是一条记录或者一对多关系,主要用于发票和会计报表。今多栏报表:具有多列记录,每条记录的字段沿左边缘垂直放置。→标签:一种特殊的报表,具有多列记录,每条记录的字段沿左边缘垂直放置。比如邮件标签和名字标签。9.2创建报表创建报表有三种方法:利用报表向导设计报表、利用报表设计器设计报表或者利用快速报表设计报表。9.2.1利用报表向导设计报表下面以xsda.dbf为数据源,利用报表向导建立一个报表。(1)打开报表向导(2)选取要使用的向导因为只是给xsda一个表建立报表,所以选择第一个报表向导就可以了,如果数据源
第 9 章 报表和标签 9.1 报表概述 报表用于打印文档时显示或总结数据。报表主要包括两个要素:报表的数据源和报表的 布局。数据源是报表的数据来源,通常是数据库中的表文件,也可以是视图、查询或临时表。 报表布局则定义了报表的打印格式。请注意,报表布局文件的扩展名为 .Frx。当运行报表 时,报表中的数据字段的域控件从数据源中取出数据。 设计报表就是根据报表的数据源和应用需要来设计报表的布局。设计报表一般可以按 如下几个步骤来完成: (1) 确定报表的数据源 (2) 确定报表的布局 (3) 利用报表向导或者报表设计器建立报表文件 (4) 预览报表 (5) 修改报表 (6) 打印报表 在动手建立报表之前,需要事先对所设计的报表有一个整体的规划,确定所需要的常 规格式。比如,要建立的报表的格式,要在报表中显示哪些数据等。报表可能很简单,就像 电话号码列表一样,也可能像基于多表的发票一样很复杂,所选的报表布局必须适合报表的 需要。 报表的常规布局: ◆ 列报表:每行是一条记录,每个字段按水平方向放置,是最常用的报表,适用于 财政报表、存货清单等统计报表。 ◆ 行报表:每条记录的所有字段在垂直一侧放置。 ◆ 一对多报表:一个报表就是一条记录或者一对多关系,主要用于发票和会计报表。 ◆ 多栏报表:具有多列记录,每条记录的字段沿左边缘垂直放置。 ◆ 标签:一种特殊的报表,具有多列记录,每条记录的字段沿左边缘垂直放置。比 如邮件标签和名字标签。 9.2 创建报表 创建报表有三种方法:利用报表向导设计报表、利用报表设计器设计报表或者利用快速 报表设计报表。 9.2.1 利用报表向导设计报表 下面以 xsda.dbf 为数据源,利用报表向导建立一个报表。 (1) 打开报表向导 (2) 选取要使用的向导 因为只是给 xsda 一个表建立报表,所以选择第一个报表向导就可以了,如果数据源
为多表,则选择“一对多报表向导”。(3)从数据源中选取报表中所需的字段(4)确定记录分组方式分组最多有三层,如下图中的1、2、3后的窗口中选取分组字段。如果不分组,直接点击“下一步”即可。+报表商导口步骤2-分组记录确定记录的分组方式。录多可以选择三层分组层次。指定一个比较宽松的分组条件,单击分组选项和总结选《无>分组选项(G)无总结选项S)生名性别学号帮助取职消【《上一步)下一步0>完成)(5)选取报表样式本示例中选择“经营式”。(6)定义报表布局根据需要确定报表布局,布局包括确定列数、方向和字段布局这三个方面的设定。请注意,如果字段较多,可选为“横向”。报表向导步骤4-定义报表布局1确定报表的布局方式,列布局中,宇段与其数据在同一列中:而行布局中,宇登与数据在同一行中,列数(C)方向纵向A横向L)宇段布局C列PT帮助取消《上一步一步完成)(7)设定排序字段排序字段最多只能有三个索引字段,还可以根据需要设为升序或者降序。(8)完成输入报表标题,选择适当选项,也可以点击“预览”按钮,看看已完成的报表。点击“完成”按钮,即完成报表xsda的设计了。9.2.2利用报表设计器创建报表仍以xsda.dbf为数据源,用报表设计器创建报表。(1)打开报表设计器
为多表,则选择“一对多报表向导”。 (3) 从数据源中选取报表中所需的字段 (4) 确定记录分组方式 分组最多有三层,如下图中的 1、2、3 后的窗口中选取分组字段。如果不分组,直接点 击“下一步”即可。 (5) 选取报表样式 本示例中选择“经营式”。 (6) 定义报表布局 根据需要确定报表布局,布局包括确定列数、方向和字段布局这三个方面的设定。请 注意,如果字段较多,可选为“横向”。 (7) 设定排序字段 排序字段最多只能有三个索引字段,还可以根据需要设为升序或者降序。 (8) 完成 输入报表标题,选择适当选项,也可以点击“预览”按钮,看看已完成的报表。点击“完 成”按钮,即完成报表 xsda 的设计了。 9.2.2 利用报表设计器创建报表 仍以 xsda.dbf 为数据源,用报表设计器创建报表。 (1) 打开报表设计器
打开报表设计器的方法有以下几种:①在命令窗口输入:CREATEREPORT[<文件名》]例如:建立xsda.frx,则在命令窗口输入“CREATEREPORTXSDA”即可。②单击“文件”一》“新建”,在调出的“新建对话框”中选择“报表”,再单击“新建文件”图标按钮。③单击“新建”工具钮,调出“新建对话框”,在新建对话框选择“报表”,再单击“新建文件”图标按钮。(2)添加数据源单击菜单“显示”一》“数据环境”,或者在已打开的“报表设计器”上点右键,在弹出的快捷菜单中选则“数据环境”,打开数据环境设计器,添加数据源xsda表。(3)向报表中添加字段域控件,如下图所示。wicresoftViFeTF文件)编错)星示格式工具(程序)窗口()帮助00a国0a报装设计票保山伞0khCREA学号医名睡8更标头烟书A山品数器好境设计器保光装计#!OIX报装控件xAA国OOHG:祥名用域控件的添加和布局是报表设计的核心,用于打印或者视图中的字段、变量和表达式的计算结果。向报表中添加域控件的方法有以下两种:①利用报表控件中的控件向报表中添加域控件单击如“报表控件”上的“域控件”,光标移到报表设计器中,变成十字图标,单击要插入域控件的位置,调出“报表表达式”对话框。在“报表表达式”对话框中,单击“表达式”框后的按钮,调出“表达式生成器”。在“表达式生成器”对话框中的“字段”框中双击所需的字段名,则字段名将出现在“报表字段的表达式”框中。◆添加完毕,单击“确定”按钮。②利用数据环境中添加的表来添加域控件◆打开报表的“数据环境”。◆选择一个表或者视图,现在选中的是xsda.dbf。→将表中的字段拖到报表设计器中。(4)在报表中添加“标签”操作方法参考表单。(5)在设计器中添加分组带区一个报表可以设置一个或多个数据分组,对报表进行数据分组时,报表会自动包含组标头和组注脚带区。因此,分组带区的添加可以通过单击VisualFoxPro6.0系统菜单中的“报表”菜单的“数据分组”菜单实现,如下图所示
打开报表设计器的方法有以下几种: ① 在命令窗口输入:CREATE REPORT [<文件名>] 例如:建立 xsda.frx ,则在命令窗口 输入 “CREATE REPORT XSDA”即可。 ② 单击“文件”—>“新建”,在调出的“新建对话框”中选择“报表”,再单击 “新建文件”图标按钮。 ③ 单击“新建”工具钮,调出“新建对话框”,在新建对话框选择“报表”,再单 击“新建文件”图标按钮。 (2)添加数据源 单击菜单“显示”—>“数据环境”,或者在已打开的“报表设计器”上点右键,在弹出 的快捷菜单中选则“数据环境”,打开数据环境设计器,添加数据源 xsda 表。 (3)向报表中添加字段域控件,如下图所示。 域控件的添加和布局是报表设计的核心,用于打印或者视图中的字段、变量和表达式的 计算结果。向报表中添加域控件的方法有以下两种: ① 利用报表控件中的控件向报表中添加域控件 ◆ 单击如“报表控件”上的“域控件”,光标移到报表设计器中,变成十字图标, 单击要插入域控件的位置,调出“报表表达式”对话框。 ◆ 在“报表表达式”对话框中,单击“表达式”框后的按钮,调出“表达式生成 器”。 ◆ 在“表达式生成器”对话框中的“字段”框中双击所需的字段名,则字段名将 出现在“报表字段的表达式”框中。 ◆ 添加完毕,单击“确定”按钮。 ② 利用数据环境中添加的表来添加域控件 ◆ 打开报表的“数据环境”。 ◆ 选择一个表或者视图,现在选中的是 xsda.dbf。 ◆ 将表中的字段拖到报表设计器中。 (4)在报表中添加“标签” 操作方法参考表单。 (5)在设计器中添加分组带区 一个报表可以设置一个或多个数据分组,对报表进行数据分组时,报表会自动包含组标 头和组注脚带区。因此,分组带区的添加可以通过单击 Visual FoxPro 6.0 系统菜单中的 “报表”菜单的“数据分组”菜单实现,如下图所示
数据分组X分组表达式(G)确定主取消插入)珊除()组属性厂每组从新的一列上开始)每组从新的一页上开始)口每组的页号重新从1开始)每页都打印组标头)小于右值时组从新的一页上开始(S)0.0000“每组从新的一列上开始”:表示当组的内容改变时,是否打印到下一列上。A“每组从新的一页上开始”:表示当组的内容改变时,是否打印到下一页上。“每组的页号重新从1开始”:表示当组的内容改变时,是否在新的一页上开?始打印,并把页号重置为1。“每页都打印组标头”:表示当组的内容分布在多页上时,是否每一页都打印组标头。打开表达式生成器,从中选择分组字段,这里选中xsda.是否团员,如下图所示。x表达式生成器按表达式分组记录<expr>ksda.是否团员一确定P取消函数宇符串(S):数学(M):检验“文本”A-逻辑(L):日期):选项Q..0(datel-宇段()变量(R)xsda.学号alignmentxsda.姓名boxHHxsda.性别_indentHxsda.出生日期_ImarginCxsda是舌团员_padvanceHxsda.籍贯pagenoHxsda.简历pbpage4单击“确定”按钮之后,可以看到报表设计器中多出了分组带区,如下图所示
◆ “每组从新的一列上开始”:表示当组的内容改变时,是否打印到下一列上。 ◆ “每组从新的一页上开始”:表示当组的内容改变时,是否打印到下一页上。 ◆ “每组的页号重新从 1 开始”:表示当组的内容改变时,是否在新的一页上开 始打印,并把页号重置为 1。 ◆ “每页都打印组标头”:表示当组的内容分布在多页上时,是否每一页都打印 组标头。 打开表达式生成器,从中选择分组字段,这里选中 xsda.是否团员,如下图所示。 单击“确定”按钮之后,可以看到报表设计器中多出了分组带区,如下图所示
报表设计器口1415xh页标头组标头1:是否团员图号胜名性别甜节组注脚1:是否团员1页注脚(6)在报表中添加线条、矩形和圆角矩形控件利用报表控件工具栏上的按钮,分别给报表设计器添加线条、矩形、圆角矩形,效果如下图所示。OX报表设计器-xsda.fr4.145xhbi页标头组标头1:是否团员座号姓名性别细节组注脚1:是否团员7页注脚(7)在报表中添加标题带区选择VisualFoxPro6.0系统菜单中的“报表”菜单中的“标题/总结”菜单,出现“标题/总结”对话框,在“标题带区”前的复选框中打上勾,单击确定,就可以添加标题带区了。在标题带区中用“报表控件”中的“标签”按钮,加入标题,输入“学生档案报表”,并且利用“格式”菜单中的“字体”菜单,美化标题,结果如下图所示。口X圆报表设计器-xsda.fr89011121314150学生档案报表标题Oxh2页标头组标头1是否团员1学号A品-(8)在报表中添加制作日期制作日期一般可以添加在“页注脚”带区、“页标头”带区或“标题带”区,操作时只
(6)在报表中添加线条、矩形和圆角矩形控件 利用报表控件工具栏上的按钮,分别给报表设计器添加线条、矩形、圆角矩形,效果如 下图所示。 (7)在报表中添加标题带区 选择 Visual FoxPro 6.0 系统菜单中的“报表”菜单中的“标题/总结”菜单,出现“标 题/总结”对话框,在“标题带区”前的复选框中打上勾,单击确定,就可以添加标题带区 了。在标题带区中用“报表控件”中的“标签”按钮,加入标题,输入“学生档案报表”, 并且利用“格式”菜单中的“字体”菜单,美化标题,结果如下图所示。 (8)在报表中添加制作日期 制作日期一般可以添加在“页注脚”带区、“页标头”带区或“标题带”区,操作时只