FastReport报表设计
FastReport报表设计
目录
5.1 前言
5.2 基本概念及操作
5.3 报表设计与范例
5.4 常用功能及函数
5.5 报表设计常用技巧
5.1 前言
汽车业务管理系统(VBMS)使用FastReport3.0报表系统设计报表。
本文主要描述使用FastReport设计报表的基本概念、使用方法、设计技巧和范例,不是FastReport的用户手册因此并不针对每个细节进行阐述。立足于建立设计报表的概念和实用技巧范例的讲解,面对的是具有一定计算机操作水平的用户。
在VBMS中使用FastReport设计报表应该掌握以下知识:
1、 熟悉SQL语言,为设计报表准备数据源。
2、 掌握VBMS的数据结构,可参考相关资料。
3、 掌握FastReport报表的设计使用方法。
体系结构
学习报表设计前应当首先弄清楚VBMS系统与FastReport报表设计之间的关系。报表设计的目的是将VBMS数据库(Firebird1.5)中的数据按照需要的视图方式显示、统计出来,并且可以打印、导出。
VBMS数据库与VBMS管理系统以及FastReport报表设计之间的关系是:
Firebird数据库系统是报表的数据源,它存储着客户的业务数据。但该数据的存储方式并不一定是客户希望直接看到的。
VBMS管理系统是中间层,它负责连接Firebird数据库和FastReport报表系统,将数据库信息(例如数据库的位置)传入到报表系统中供设计报表时使用。
FastReport报表系统是报表设计的主体,它负责接收或创建数据源,通过设计报表完成需要的功能。因此在VBMS管理系统的打印模块中存在两种数据源:一种是VBMS系统数据源,即在各模块中将设计好的数据源传入到打印模块中。优点是无须用户干预使用方便,缺点是不够灵活,更改数据源需要升级程序。例如各类单据的打印报表采用的就是系统数据源。另一种是自行设计数据源,功能强大但对用户的要求较高。例如报表中心中的各类报表。
设计步骤
完成一张报表的设计主要包括以下几个步骤:
1、 确定报表的需求,查阅VBMS关于数据库结构的文档,确认该需求的所有内容在VBMS中均有数据字段记录(即VBMS必须记录了相关数据,否则报表设计无从谈起)。
2、 根据报表的需求,确定报表应该显示的模式。例如:是简单报表、主从报表或是分组报表等等。因为这涉及的自定义数据源时SQL语言的构成方式。
3、 利用数据库工具(例如:IBExpert),使用SQL语言尝试获取报表希望的数据集。这里有可能不能通过SQL语言一步到位获取到希望的结果,但你仍可能通过FastReport报表系统对数据集进行二次加工。
4、 在FastReport报表中自定义数据源(通过上步获取的SQL语句),利用报表系统中提供的各种控件构造出希望的报表格式。
5、 对于设计好的报表进行测试。
5.2 基本概念及操作
本节主要讲述FastReport报表系统的基本概念、基本操作方法、基本控件使用等内容。
基本概念
最主要的概念是FastReport报表的组成方式和控件主要用途,它一般包括以下方面:
*页面(Page) 默认为Page1
与我们现实中使用的纸张相似。但它不仅仅指的是一张纸,而是用于我们设计报表的容器。打印出来可以是一张纸也可以是多张。页面(Page)可以有多个(你可以新增页面New Page),即可以有多个报表容器。利用这一点,你可以设计出复合报表(Composite Report)。
利用页面设置可以定义大小、方向、边界、打印方式、分栏等参数。这里不再详述,只特别强调分栏的作用。你可以将页面分成多栏,这样打印时数据将按照从上到下,再从左往右的方式显示。这就是我们通常说的分栏报表(Splite Report)。
*区域(Band)
FastReport将整个页面划分成若干个区域。而每个区域有着各自不同的功能,这些功能由FastReport自动加载。一个页面中可以没有区域,也可以只有其中的某些区域,这根据报表的需求而定。放置在页面中的区域有范围,落入区域范围内的控件(例如:TextObject)才具有区域的功能。
重要的区域包括:
#报表抬头(ReportTitle)
仅在第一页显示在纸张的上部。一般用于打印报表的标题等信息。
#报表合计(ReprotSummary)
仅显示在所有数据的最后末尾。一般用于打印统计信息等。
#页首(PageHeader)
显示在每页的最上部。通过设置你可以让它置于报表抬头之上或者之下。一般用于打印页眉信息等。
#页脚(PageFooter)
显示在每页的最底部。一般用于打印页序等信息。
#主