曹瑞燕
(1.长治职业技术学院 信息系,山西 长治 0460112.中北大学,山西 太原 030051)
数据库下自由表的表格输出是管理信息系统中的一个主要模块,也是把自由表中处理好的数据通过表格进行传阅和纸质保存的手段。在面向过程的程序设计模式下,报表的输出是通过复杂的编程来实现,而程序调试是靠不断查看打印输出结果来实现的,既浪费时间,又浪费纸张。在面向对象的程序设计模式下,报表程序的设计和输出,可通过系统提供的报表向导、报表设计器、报表预览来完成和实现,既方便快捷又节省纸张。面向对象的数据库系统VFP就具有这些功能,在VFP下进行报表设计和输出,就可用报表向导、报表设计器、报表预览来完成和实现。下面就对在VFP下如何进行报表设计和输出作详细介绍。
VFP系统下提供了报表向导和报表设计器两种形式来设计报表,通过报表向导设计和输出的报表,由于没有表格的横线和竖线,不符合我们的习惯。通过报表设计器设计和输出报表,经过对细节区的特殊设计,输出报表时不仅可以输出表格的横线和竖线,还可设计和输出多种形式的报表。
当自由表中的记录输出报表时,如果表格的一行能容纳下一条记录,设计和输出报表相对简单,只需要掌握报表控件菜单的使用,掌握报表设计器中[1]252-253各个区在报表输出时表示的输出内容和形式。
在启动报表设计器后,VFP系统自动弹出报表控件菜单,如图1所示。
图1
从左到右,每个按钮的功能分别是:选定报表设计器中的对象;标签,在报表设计器中插入该控件,在报表输出时输出文字;域控件,在报表设计器中插入该控件,在报表输出时输出自由表中的字段、程序中的变量、系统变量、系统函数的值;线条,在报表设计器中插入该控件,在报表输出时输出表格的框横线和竖线;矩形,在报表设计器中插入该控件,在报表输出时输出矩形;圆角矩形,在报表设计器中插入该控件,在报表输出时输出圆角矩形;图片/ActiveX控件绑定,在报表设计器中插入该控件,在报表输出时输出自由表中通用字段的值;按钮锁定,在报表设计器中设计报表时,选中报表控件菜单中前面的按钮,再单击该按钮,可重复在报表设计器中插入以前选中的控件,加速控件的插入。
报表设计器是报表设计和输出的主要工具,启动报表设计器以后,如图2所示:
图2
从上到下每个报表设计区的内容在整个报表输出时出现的位置及次数介绍如下:
(1)标题区的内容:该区的内容,只输出在报表的第一页的最顶端。
(2)页标头区的内容:该区的内容,输出在报表每一页的顶端,只输出一次。
(3)细节区的内容:该区的内容,自由表中的每一条记录输出一次,出现在每一页的中间,是报表输出的主要内容。
(4)页注脚区内容:该区的内容,输出在报表每一页的下端,只输出一次。
(5)总结区内容:该区的内容,只输出在报表的最后一页的最下端。
从上面的介绍可知,页标头和细节是报表设计器中设计的主要内容,对报表的输出形式起着决定性的作用。
在启动报表设计器后,在数据环境中添加需要报表输出的自由表,根据自由表中字段代表的数据项含义,设计页标头,包括的内容有:矩形控件,竖线,标签。接着设计细节,包括的内容有一个由横线和竖线组成的一行表格,没有上框线,单元格中有输出自由表中字段的域控件。然后设置页脚注,输出页码等内容。图3所示为学生成绩管理系统,设计和输出学生成绩表时报表设计器中显示的内容[2]238-239,仅供参考。
图3
在设计过程中,可以经常调用报表预览功能,查看设计的报表是否符合输出的要求,最终设计出符合输出要求的报表。
在报表设计器中设计好报表文件后,通过系统提供的命令[3]446-447report form来输出报表,该命令的使用方法有两种形式,分别是:
report form分学期报表preview
这种形式的命令执行后,显示报表具体输出形式的预览窗口和如图4所示的打印预览菜单,按照菜单功能,可从第一页到最后一页进行报表打印。
图4
report form分学其报表to print prompt
这种形式的命令执行后,显示如图5所示的打印机提示窗口,按照提示,可选择页码范围和份数进行报表打印。
图5
用以上介绍的方法输出的报表可输出一般形式的报表,以下介绍的方法可进行其它形式报表的设计和输出。
如果报表输出的数据项一行容纳不下、或数据项少,一行可放多个,设计报表的方法就需要改进。针对后者要在原来自由的基础上新建一个自由表,表中的字段包含每一个数据项的内容。然后利用数据库系统下多工作区操作方法,把原来自由表的内容添加到新建的自由表中,这需要用程序设计方法来实现。自由表中的数据组织好后,调用报表设计器,就可以设计出相应的报表了。
在输出报表时,有时输出的数据项需要根据输出数据满足的条件、系统变量的值、用户自定变量的值来决定是否输出报表设计器中的内容。还有数据输出时需每页汇总、整个报表输出完成后还有汇总等的输出。此时设计和输出报表时,就要用条件加以控制。
在报表设计器中双击报表输出的内容,就可弹出打印条件设置窗口,然后输入控制条件,在报表输出时系统便可根据输出的内容是否满足条件进行输出控制。
报表设计和输出的方法,是学习VFP时必需熟练掌握的主要内容。文章虽然介绍了其它形式报表输出的方法,但由于篇幅有限,介绍的不是太详细,特别是在涉及程序设计内容时更是如此。
[1]柳青等.Visual FoxPro程序设计教程[M].北京:高等教育出版社,2002.252-253.
[2]史德芬.Visual FoxPro编程[M].南京:南京大学出版社,2001.238-239.
[3]岳明等.中文Visual FoxPro5.0命令和函数参考手册[M].北京:机械工业出版社,1998.446-447.