第九章报表与标签 91报表向导 9,2报表格式设计基础 93控件使用 94数据环境 9.5数据分组
第九章 报表与标签 9.1 报表向导 9.2 报表格式设计基础 9.3 控件使用 9.4 数据环境 9.5 数据分组
91报表向导 报表是处理数据库信息功能中重要的一部分,是各种数据最 常用的输出格式。 报表设计器和报表向导为用户进行报表设计提供了极方 便的工具。 在“项目管理器”窗口中,选定“报表”,选择“新建” 也可以从菜单中调用“报表向导”,从“工具”菜单中,选择 “向导”命令,然后选定“报表”。选定想创建的报表类型。 启动报表向导的方法有两种: 在项目管理器中选择“报表”项,再单击“向导”。 ●在“文件”菜单中选择“新建”,在“新建”对话框中选 择“报表”项,然后,单击按钮“向导”。在“向导选取”对 话框中,选择“报表向导”项,单击“确定
9.1 报表向导 报表是处理数据库信息功能中重要的一部分,是各种数据最 常用的输出格式。 报表设计器和报表向导为用户进行报表设计提供了极方 便的工具。 在“项目管理器”窗口中,选定“报表” ,选择“新建” 。 也可以从菜单中调用“报表向导” ,从“工具”菜单中,选择 “向导”命令,然后选定“报表” 。选定想创建的报表类型。 启动报表向导的方法有两种: l在项目管理器中选择“报表”项,再单击“向导” 。 l在“文件”菜单中选择“新建” ,在“新建”对话框中选 择“报表”项,然后,单击按钮“向导” 。在“向导选取”对 话框中,选择“报表向导”项,单击“确定”
91.1单一报表 单一报表是用一个表创建的报表 使用单一报表向导的操作共6步:选择字段、分组记录、选择 报表样式、定义报表布局、排序记录、完成 例91用报表向导创建一个反映学生成绩的报表 具体操作如下 1)单击“文件”菜单的“新建”菜单项,在打开的“创新建 对话框”中选择“报表向导”,在向导选取中选定“报表向导” 。或者单击主菜单上的“工具向导”,选择“报表” (2)单击“确定”按钮,打开“报表向导”对话框(步骤1)。 在步骤1中单击数据库与表右侧的按钮,在输出的选项中选择“ 教学数据库”和一个视图文件“成绩视图”。选定在报表中使用 的字段:学号、姓名、班级、课程、成绩
9.1.1 单一报表 单一报表是用一个表创建的报表。 使用单一报表向导的操作共6步:选择字段、分组记录、选择 报表样式、定义报表布局、排序记录、完成。 例9-1 用报表向导创建一个反映学生成绩的报表。 具体操作如下: (1)单击“文件”菜单的“新建”菜单项,在打开的“创新建 对话框”中选择“报表|向导” ,在向导选取中选定“报表向导” 。或者单击主菜单上的“工具|向导” ,选择“报表” 。 (2)单击“确定”按钮,打开“报表向导” 对话框(步骤1)。 在步骤1中单击数据库与表右侧的按钮,在输出的选项中选择“ 教学数据库”和一个视图文件“成绩视图” 。选定在报表中使用 的字段:学号、姓名、班级、课程、成绩
3)单击“下一步”进入步骤2,对数据进行分组。首先是 班级,以便保持同一班同学的整体功能,其次是课程,以保 证课程成绩划分以及有关其他同一课程成绩的计算统计之方 便。做好这一步骤后即可进入“下一步” (4)步骤3是报表样式选择,VF提供了5种输出样式。我们 在这里选取了“帐务式”。步骤4“定义报表布局”缺省。单 击“下一步”进入步骤5 5)记录排序是信息数据编排顺序的重点,这就是第5步 排序记录”,在这一步可以选用“成绩”,也可以选用“学 号”。我们选用的是“学号”,采用的是“升序”。 (6)最后一步“完成”前,可以预览。 (7)如果效果良好可以在最后一步选择“保存报表供以后使 用”,也可在满意的前提下选择“保存并打印报表”;不然 ,则“保存后在报表设计器中修改”,单击“完成”,报表 设计结束
(3)单击“下一步”进入步骤2,对数据进行分组。首先是 班级,以便保持同一班同学的整体功能,其次是课程,以保 证课程成绩划分以及有关其他同一课程成绩的计算统计之方 便。做好这一步骤后即可进入“下一步” 。 (4)步骤3是报表样式选择,VFP提供了5种输出样式。我们 在这里选取了“帐务式” 。步骤4“定义报表布局”缺省。单 击“下一步”进入步骤5。 (5)记录排序是信息数据编排顺序的重点,这就是第5步“ 排序记录” ,在这一步可以选用“成绩” ,也可以选用“学 号” 。我们选用的是“学号” ,采用的是“升序” 。 (6)最后一步“完成”前,可以预览。 (7)如果效果良好可以在最后一步选择“保存报表供以后使 用” ,也可在满意的前提下选择“保存并打印报表”;不然 ,则“保存后在报表设计器中修改” ,单击“完成” ,报表 设计结束
建立父表与子表之间的关联是一个重要的表现内容决定项。我 们选定为:课程表课程号=分数课程号,如图9-10所示 以下的操作方法与单一表单基本相同,不再述说。以“课程号 为排序索引,采用“升序”方式。新建立报表例子
建立父表与子表之间的关联是一个重要的表现内容决定项。我 们选定为:课程表.课程号=分数.课程号,如图9-10所示。 以下的操作方法与单一表单基本相同,不再述说。以“课程号” 为排序索引,采用“升序”方式。新建立报表例子
91.2一对多报表向导 对多报表向导也是用于生成分组报表的,只是用于分组 的记录来自父表文件,而组中包含的记录来自子表文件 启动“一对多报表向导”的操作与启动报表向导基本相同 ,只是在“向导选取”时选择“一对多报表向导”。 对多报表向导的操作步骤如下: (1)打开相关表所在的数据库。 2)打开“报表设计器” 3)从“显示”菜单中选择“数据环境”并添加相关联的表 (4)从数据环境的菜单中选择“属性”,并分别为表之间的 关系以及数据环境设置属性 (5)在属性窗口的对象框中选择 Relation,并在数据选项卡 中设置 OneToMany属性为T
9.1.2 一对多报表向导 一对多报表向导也是用于生成分组报表的,只是用于分组 的记录来自父表文件,而组中包含的记录来自子表文件。 启动“一对多报表向导”的操作与启动报表向导基本相同 ,只是在“向导选取”时选择“一对多报表向导” 。 一对多报表向导的操作步骤如下: (1)打开相关表所在的数据库。 (2)打开“报表设计器” 。 (3)从“显示”菜单中选择“数据环境”并添加相关联的表 。 (4)从数据环境的菜单中选择“属性” ,并分别为表之间的 关系以及数据环境设置属性。 (5)在属性窗口的对象框中选择Relation1,并在数据选项卡 中设置OneToMany属性为.T
9,2报表格式设计基础 92.1报表设计器 Visual foxpro提供了非常方便的报表设计器。报表设计器( eport designer)用于报表的设计、生成与修改。它由两部分组 成 ●报表设计器窗口:用于设计一个报表的格式 ●报表运行机制:根据设计好的报表格式生成一个具体的报表 报表的设计过程包括两个基本组成要点:数据源和布局 ●数据源:通常是数据库中的表,但也可以是视图、查询或临 时表。视图和查询将筛选、排序、分组数据库中的数据。 ●报表布局:定义报表的打印格式。在定义了一个表、视图或 查询后,便可以创建报表或标签
9.2 报表格式设计基础 9.2.1 报表设计器 Visual FoxPro提供了非常方便的报表设计器。报表设计器( report designer)用于报表的设计、生成与修改。它由两部分组 成: l报表设计器窗口:用于设计一个报表的格式。 l报表运行机制:根据设计好的报表格式生成一个具体的报表 。 报表的设计过程包括两个基本组成要点:数据源和布局。 l数据源:通常是数据库中的表,但也可以是视图、查询或临 时表。视图和查询将筛选、排序、分组数据库中的数据。 l报表布局:定义报表的打印格式。在定义了一个表、视图或 查询后,便可以创建报表或标签
通过设计报表,可以用各种方式在打印页面上显示数据。设计 报表有5个主要步骤: 1)决定要创建的报表类型。 (2)设定报表的数据来源。 3)创建报表布局文件。 (4)修改和定制布局文件。 (5)预览和打印报表。 在设计报表时需打开报表设计器,主要有以下几种方法: 在文件菜单中选择“新建”然后选择“报表”。 ●在文件菜单中选择“打开”命令,在打开对话框中选择“文 件类型:”报表”,并在相应的位置选择报表文件名,再单击 “确定”按钮。 在命令窗口输入如下命令: CREAT REPORTI报表文件名 。该命令用于建立一个新的报表并打开报表设计器 在“项目管理器”中,选择“报表”项,单击“新建”按钮 在“新建报表”对话框中单击“新建报表”按钮,屏幕上即 出现“报表设计器”窗口,如图9-12所示
通过设计报表,可以用各种方式在打印页面上显示数据。设计 报表有5个主要步骤: (1)决定要创建的报表类型。 (2)设定报表的数据来源。 (3)创建报表布局文件。 (4)修改和定制布局文件。 (5)预览和打印报表。 在设计报表时需打开报表设计器,主要有以下几种方法: l在文件菜单中选择“新建”然后选择“报表” 。 l在文件菜单中选择“打开”命令,在打开对话框中选择“文 件类型:”报表” ,并在相应的位置选择报表文件名,再单击 “确定”按钮。 l在命令窗口输入如下命令:CREAT REPORT[] 。该命令用于建立一个新的报表并打开报表设计器。 l在“项目管理器”中,选择“报表”项,单击“新建”按钮 ,在“新建报表”对话框中单击“新建报表”按钮,屏幕上即 出现“报表设计器”窗口,如图9-12所示
922报表设计器窗口及其分区 报表设计器”窗口是一个设计区域,在其中可以放置或格 式化一些报表控件。报表设计器默认划分为3个区:页标头 细节、页注脚。 在“报表设计器”窗口的顶部和左部都可以显示刻度标尺 ,以便能够精确设置报表控件定位
9.2.2 报表设计器窗口及其分区 “报表设计器”窗口是一个设计区域,在其中可以放置或格 式化一些报表控件。报表设计器默认划分为3个区:页标头、 细节、页注脚。 在“报表设计器”窗口的顶部和左部都可以显示刻度标尺 ,以便能够精确设置报表控件定位
923报表类型 报表的总体布局可分为列报表、行报表、一对多报表、多栏报表5 大类。创建报表前,应首先确定所需报表的总体布局。 1)列布局:其主要特征是报表每行一条记录,记录的字段在页 面上按水平方向放置。这种报表布局比较常用。各种分组、汇总报 表、财政报表、各类清单等都可以使用这种布局格式 (2)行布局:报表只有一栏记录,一个记录占用报表多行位置, 字段沿报表边沿向下排列;每行记录的字段在一侧竖直放置,这类 报表布局适用于各类清单、列表使用。 (3)一对多布局:报表基于一条记录及一对多关系生成。打印时 在父表中取得一条记录后,必须将子表与其相关的多条记录取出打 印。这类报表布局多用于基于表间一对多关系。 (4)多栏布局:报表拥有多栏记录 5)标签布局:这类布局一般拥有多栏记录,记录的字段沿左侧 竖直放置对齐,向下排列,一般打印在特殊纸上,多用于邮件标签 名字标签等的布局
9.2.3 报表类型 报表的总体布局可分为列报表、行报表、一对多报表、多栏报表5 大类。创建报表前,应首先确定所需报表的总体布局。 (1)列布局:其主要特征是报表每行一条记录,记录的字段在页 面上按水平方向放置。这种报表布局比较常用。各种分组、汇总报 表、财政报表、各类清单等都可以使用这种布局格式。 (2)行布局:报表只有一栏记录,一个记录占用报表多行位置, 字段沿报表边沿向下排列;每行记录的字段在一侧竖直放置,这类 报表布局适用于各类清单、列表使用。 (3)一对多布局:报表基于一条记录及一对多关系生成。打印时 在父表中取得一条记录后,必须将子表与其相关的多条记录取出打 印。这类报表布局多用于基于表间一对多关系。 (4)多栏布局:报表拥有多栏记录。 (5)标签布局:这类布局一般拥有多栏记录,记录的字段沿左侧 竖直放置对齐,向下排列,一般打印在特殊纸上,多用于邮件标签 、名字标签等的布局