您的位置: 网站首页 > 程序开发 > Visaul FoxPro程序设计 > 第9章 报表与标签设计 > 【9.2 报表的创建】

9.2 报表的创建

 

9.2  报表的创建

Visual FoxPro中,有以下3种创建报表布局的方法:

1)用“报表向导”创建简单的单表或多表报表。

2)用“快速报表”从单表中创建一个简单报表。

3)用“报表设计器”修改已有的报表或创建自己的报表。

“报表向导”是创建报表的最简单途径,它自动提供很多“报表设计器”的定制功能;“快速报表”是创建简单布局的最迅速途径;如果直接在“报表设计器”内创建报表,“报表设计器”将提供一个空白布局。

以上每种方法创建的报表布局文件都可以用“报表设计器”进行修改。

9.2.1  用“报表向导”创建报表

Visual Foxpro中提供了两种报表向导:一对一报表向导和一对多报表向导。

1.利用向导创建一对一报表

在该向导中,包括向导的选取、确定报表中的字段、确定记录分组的标准、选择报表样式、定义报表布局、记录的排序标准、确定保存方式等几个步骤,下面将以实例的形式进行讲解。

9-2  “向导选取”对话框

【例9-1将学生档案表(xsda.dbf)通过报表向导的方式创建报表,其操作步骤如下:

1)在“项目管理器”窗口中选择“报表”项,然后单击“新建”按钮,在弹出的对话框中单击“报表向导”图形按钮,然后在“向导选取”对话框中选择“报表向导”项,如图9-2所示。

2)单击“确定”按钮,此时将打开报表向导的“步骤1字段选取”窗口,在“数据库和表”列表框中选取所需的xsda.dbf,把要输出的字段从“可用字段”中添加到“选定字段”列表,如图9-3所示。

3)单击“下一步”按钮,此时将打开报表向导的“步骤2分组记录”窗口。使用数据分组的目的是将记录分类排序,在报表输出时,被分组的字段值分行显示,用户最多可以建立3层分组层次。此例中选择“籍贯”进行第一层分组,如图9-4所示。

    

9-3  选取报表的字段                            9-4  设置分组记录

4)单击“下一步”按钮,此时将打开报表向导的“步骤3选择报表样式”窗口。报表向导中提供了经营式、账务式、简报式、带区式、随意式等几种报表样式,它们具有不同的报表风格。当选中某一报表风格时,会在左上角放大镜中看到报表的局部风格,如图9-5所示。

5)单击“下一步”按钮,此时将打开报表向导的“步骤4定义报表布局”窗口。报表布局分为列布局和行布局,在列布局方式中,字段与数据在同一列;而在行布局中,字段与数据在同一行。

6)单击“下一步”按钮,此时将打开报表向导的“步骤5排序记录”窗口。选择排序的字段,并将添加到“选定字段”列表框中(最多可选三个索引字段),并确定排序方式(升序或降序),如图9-6所示。

7)单击“下一步”按钮,此时将打开报表向导的“步骤6完成”窗口。在“报表标题”文本框中输入报表的标题,并确定保存的方式,如图9-7所示。

8)单击“完成”按钮,将弹出“另存为”对话框,在其中输入保存报表名的名字,如图9-8所示。

   

9-5  选择报表样式                         9-6  选择排序记录

      

9-7  输入报表标题                           9-8  保存报表

9)单击“保存”按钮,此时将自动生成报表,其预览的效果如图9-9所示。

9-9  生成并浏览的报表

2.利用向导创建一对多报表

当报表的数据来自多个表时,就需要创建一对多报表,下面将以实例的形式进行讲解。

【例9-2将学生档案表(xsda.dbf)和学生成绩表(xscj.dbf)通过报表向导的方式创建一对多报表,其操作步骤如下:

1)在如图9-2所示的窗口中选择“一对多报表向导”项,然后单击“确定”按钮,将打开报表向导的“步骤1从父表选择字段”窗口。选择xsda.dbf作为父表,并将编号、姓名、籍贯字段添加到“选定字段”列表中,如图9-10所示。

2)单击“下一步”按钮,此时将打开报表向导的“步骤2从子表选择字段”窗口。选择xscj.dbf作为子表,并将专业、语文、数学、外语和政治字段添加到“选定字段”列表中,如图9-11所示。

   

9-10  选择父表字段                   9-11  选择子表字段

3)单击“下一步”按钮,此时将打开报表向导的“步骤3—为表建立关系”窗口。分别选择两个数据表的“编号”字段建立关系。

4然后依次单击“下一步”按钮,并保存报表,然后进行浏览,其效果如图9-12所示。

9-12  建立的一对多报表

9.2.2  用“快速报表”创建报表

除了使用报表向导外,还可以使用“快速报表”功能来创建一个格式较为简单的报表。下面以实例的形式进行讲解。

【例9-3使用“快速报表”功能创建书籍基本资料报表,其操作步骤如下:

1在“项目管理器”窗口中选择“报表”项,然后单击“新建”按钮,在弹出的对话框中单击“新建报表”图表按钮,将打开“报表设计器”窗口,如图9-13所示。

9-13  打开的“报表设计器”窗口

9-14  选择数据表

2单击菜单“报表”→“快速报表”命令,将弹出“打开”对话框,选择“书籍资料”表,如图9-14所示。

3)单击“确定”按钮,将弹出“快速报表”窗口,选择布局样式,如图9-15所示。

4)默认情况是将数据表中的所有字段都添加到报表中,若需要选择报表的部分字段,应单击“字段”按钮,将弹出“字段选择器”窗口,然后将需要的字段添加到“选定字段”列表框中,如图9-16所示。

   

9-15  选择报表的布局样式                   9-16  选择生成报表的字段

5)两次单击“确定”按钮,此时系统将自动快速生成报表的结构,如图9-17       所示。

9-17  快速生成报表的结构

6)保存该报表并进行浏览,其效果如图9-18所示。

9-18  浏览报表

9.2.3  用“报表设计器”创建报表

通过“报表向导”和“快速报表”只能创建较为简单的报表,这远远不能满足用户的需要。而“报表设计器”不仅可以方便地设置报表数据源、更改报表布局,更重要的是可以向报表内添加各种控件,从而设计出精美的报表、分组报表、多栏报表等。

用户同样可以使用多种方法来打开“报表设计器”窗口。当打开“报表设计器”窗口后,在主菜单中将增加“报表”菜单项,同时显示出其他相关的工具栏,如图9-19所示。

9-19  打开的“报表设计器”窗口

1.报表的页面设置

在设计报表之前,首先要进行报表页面的设置,在这一步中通常是考虑报表的外观、页边距、纸张类型和需要的布局。当用户单击菜单“文件”“页面设置”命令时,系统将打开如图9-20所示的“页面设置”对话框,从而可以设置报表的列数、宽度、间隔、打印区域、左页边距等。

若在“页面设置”对话框中单击“打印设置”命令按钮,将打开如图9-21所示的“打印设置”对话框,从而可以确定打印纸张的大小、方向以及打印机等。

  

9-20  “页面设置”对话框                    9-21  “打印设置”对话框

2.报表的数据环境

在设计报表时,通过设置数据环境为报表添加数据源。数据环境可以通过以下3个方面来管理用户的报表数据源:

1)在报表打开或运行时,打开报表使用的表或视图文件。

2)用相关的表或视图中的内容来填充报表所需要的数据组。

3)在报表关闭或释放时关闭表文件。

若要设置报表的数据环境,在打开的“报表设计器”窗口中单击菜单“显示”→“数据环境”命令,将弹出“数据环境”窗口,然后添加表或视图即可。

注意:添加到“数据环境”中的表或视图,将会随着报表文件的打开而自动打开,并随着报表文件的关闭而自动关闭。

3.报表带区

“报表设计器”窗口中可以有不同类型的带区,带区底部有分隔栏,带区名称显示在分隔栏上。表9-2给出了报表的带区说明。

9-2  报表的带区说明

   

打印次数

使用方法

标题

每报表一次

从“报表”菜单中选择“标题/总结”带区

页标头

每页面一次

默认可用

列标头

每列一次

从文件菜单中选择“页面设置”,设置“列数>1

组标头

每组一次

从“报表”菜单中选择“数据分组”

细节

每记录一次

默认可用

组脚注

每组一次

从“报表”菜单中选择“数据分组”

列脚注

每列一次

从文件菜单中选择“页面设置”,设置“列数>1

页脚注

每页面一次

默认可用

总结

每报表一次

从“报表”菜单中选择“标题/总结”带区

9-22  定义报表带区

9-23  “报表控件”工具栏

报表设计器常用的带区有三个:页标头、细节和注脚,用户可以添加一些带区。各带区底部有一个灰色的分隔条,分隔条中有一个蓝色的箭头,该箭头表示报表带区在灰色分隔条的上面。

要定义报表各带区,在“报表设计器”中双击各带区灰色间隔条,就会出现相应的对话框,如图9-22所示。在该窗口中可以定义报表带区的高度及运行表达式等。

4.报表控件工具栏

“报表控件”工具栏在打开“报表设计器”时会自动显示,如图9-23所示。

该工具栏中各按钮的说明如下。

1)“选择”控件:单击后可以选取报表上的对象,并对选取的对象控件进行操作。

2)“标签”控件:创建一个标签控件,用于保存不希望改动的文本。

3)“域”控件:创建一个字段控件,用于显示表字段、内存变量或其他表达式。

4)“线条”控件:设计时用于在各带区内画各种线条。

5)“矩形”控件:用于在各带区内画矩形。

6)“圆角矩形”控件:用于在各带区内画椭圆和圆角矩形。

7)“图片/OLE绑定型”控件:用于在各带区上显示图片或通用字段的内容。

8)“按钮锁定”控件:选择此按钮后,允许添加多个同类型的控件,即连续绘制此类型的对象到报表上,而不需要每次都重复选取相同的对象按钮。