熊凯 易建湘
摘 要 本文介绍了VB6.0中各种报表打印技术以及各种技术之间的优缺点,特别详细地介绍了利用编程的方法实现报表打印等内容。
关键词 VB6.0,编程,报表
一 、 前言
Visual Basic开发数据库系统中,报表打印是其中最重要也是最常用的功能之一。按照报表实现的方法可大体上分为3类:第1类是较原始的方法,直接控制打印机对象Printer进行画线和打印;第2类是使用控件,如Data Report、Crystal Report、Active Report等;第3类是将需要打印的报表保存成其他程序可以识别的格式或直接输入到其他程序中,利用其他程序的打印功能操作,典型代表就是通过Word和Excel打印报表。
二、方法简介
使用Printer对象编程进行打印,最大的问题是要经常进行坐标运算,需要考虑很多琐碎的问题,代码量大,打印的内容无法预览。优点是控制灵活,且打印效果比较好,在实际应用中,对于一些灵活度较高,功能较复杂的报表使用本方法是较理想的方法。本文的实例中主要介绍了此种方法的实现过程。
VB自带的Data Report与Printer比起来,编程强度小了很多,而且它以所见即所得的方式设计报表,比较直观,打印出来的报表比较美观,实现打印预览功能比较简单。它缺点是不够灵活,绑定内容只能是Recordset,且还有诸多限制。
Crystal Report是Seagate公司出品的报表打印控件,8.0以上的版式本的功能已经十分强大,控制灵活,堪称经典的报表解决方案。它的缺点体积比较强大,且是商用软件,价格比较昂贵。
Active Report是Data Dynamic公司出品的优秀打印控件。Active Report作为Data Report的增强型,控制灵活,功能完备,完全可以胜任日常报表打印工作。
借助VBA调用一些外部软件解决打印问题,其中Word和Excel是常用的“打印代理”。这种方法的好处是控制比较简单,打印功能强大。它的缺点是要求运行报表打印程序的计算机必须安装相应软件(如Word或Excel等)。
三、程序实现
1.新建一个标准工程,名称为【工程1】。在工程中创建一个窗体,名称为【Forml】
2.单击【工程】菜单下的【部件】选取项,在弹出的列表中选中【Microsoft FlexGrid Control6.0(sp3)】选项,然后单击【确定】按键,MSFlexGrid控件就添加到工具箱中了。
3.在【Forml】窗体中放置1个MSFlexGrid控件、8个TextBox控件、8个Label控件、5个CommandButton控件等。主要控件对象的属性如下表所示。
主要控件的属性列表
对 象 |
属 性 |
值 |
功 能 |
MSFlexGrid |
名称 |
MSFlexGrid1 |
输入入库信息 |
Text1 |
名称 |
Text1 |
Text2 |
名称 |
TxtWhm_1 |
输入单据号 |
Text3 |
名称 |
TxtWhm_2 |
显示品种数 |
Text4 |
名称 |
TxtWhm_3 |
显示合计数量 |
Text5 |
名称 |
TxtWhm_4 |
显示合计金额 |
Text6 |
名称 |
TxtWhm_6 |
输入供货商名称 |
Text7 |
名称 |
TxtWhm_7 |
输入日期 |
Text8 |
名称 |
TxtWhm_8 |
输入经手人 |
Command1 |
名称 |
CmdRegister |
登记命令 |
Caption |
登记 |
Command2 |
名称 |
CmdSave |
保存命令 |
Caption |
保存 |
Command3 |
名称 |
Cmdprint |
打印命令 |
Caption |
打印 |
Command4 |
名称 |
CmdCancel |
取消命令 |
Caption |
取消 |
Command5 |
名称 |
CmdEnd |
退出命令 |
Caption |
退出 |
|