Crystal Report(水晶报表)的报表封装成VB的DLL
日期:2007年5月1日 作者: 查看:[大字体 中字体 小字体]-
-------------摘自CSDN 作者:zcw@longyouth.comCrystal Report(水晶报表)的设计器在VB中有很好的支持,使用设计器开发报表非常的方便,它不但拥有丰富的获取数据的数据源,还拥有良好的可编程接口的支持,是一般报表开发的首先。然而,由于众所周知的原因,VB的程序编译后很大,如果再加上众多的报表设计器的话(由于报表的格式不同,通常都是一个报表建一个设计器来对应),VB的EXE程序将会越来越大(如果有静态图片的话会更大)。为EXE程序减负的方法之一便是使用ActiveX DLL,使它从EXE程序中分离出去,实现动态加载。这样既减少了EXE程序的体积,又减少了运行时VB程序对内存的占用,同时这种分离能使程序的结构更清晰逻辑更合理。下面这一过程的具体实现。
实现过程:
在开发之前请安装VB6.0的任一版本,并安装好Crystal Report8.5开发版或是专业版。并确认在crystal report安装是选上了Developer Components。
1、 打开VB,新建一ActiveX DLL工程,系统会自动生成一个类Class1,把该类改名为clsCryReport,把系统的工程名也改名为ProjCryReport
2、 单击工程菜单,选“更多ActiveX设计器”,选取“Crystal reports 8.5”,新建一个空的设计器(新建报表时选择“As a Blank Report”)。并将设计器改名为:cryTestDllReport,并将随之新建的一个Form删除(我们不用这DLL的Form来显示报表,而用调用DLL的程序来负责显示报表)。
3、 为报添加数据库源:具体做法是在报表区域点击鼠标右键,选取“DataBase”,选“Add DataBase to Report”,选择“More Data Sources”中的“Active Data”,“Field Definitions Only”,新建一个数据集的字段定义,并将该记录集的定义保存成一个后缀为ttx的文本文件。内容如下:
Staff_id Long
Name String 20
Age Long
Addr String 50
最后将其加入(Add)报表。
4、 把这一些字段排好到设计器的Details区,并根据需要对表头进行设置。
5、 回到clsCryReport,在类中加入如下的代码:
Option Explicit
Dim cry As New cryTestDllReport
Public Sub ShowReport(ByVal frm As Object, ByVal rsCryTestDll As ADODB.Recordset)
'frm是用于传递显示报表的窗体对象的,该窗体需要有Crystal Report的CRViewer控件。
'rsCryTesllDll是报表显示的数据记录集。
cry.Database.SetDataSource rsCryTestDll
frm.CRViewer.ReportSource = cry
frm.CRViewer.ViewReport
End Sub
6、 将该工程编译成DLL文件,文件名为:ProjCryReport.DLL。
7、 新建一VB “标准EXE”工程。
8、 加入“Crystal Report Viewer Control”控件到Form中。把它命名为CRViewer,一定要与上面的名字一致,并通过VB“工程—引用”菜单引用上面我们生成的DLL文件:ProjCryReport.DLL。
- [1] [2] [3] 下一页
-
- Crystal Report(水晶报表)的报表封装成VB的DLL 相关文章:
- ·Crystal Report(水晶报表)的报表封装成VB的DLL
- Crystal Report(水晶报表)的报表封装成VB的DLL 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:DataGrid 控件的使用五
下一篇:用Visual Basic 5.0设计E-mail程序(MAPI)
精品推荐
热点TOP10
- ·VB表格控件总览与例程分析
- ·VB+Access设计图书管理系统
- ·用VB6.0制作画图板
- ·给VB控件PictureBox加滚动条的方法
- ·VB编程之路-如何让界面美化
- ·用MsFlexGrid控件显示数据库中的记录
- ·如何用VB程序来播放WAV文件
- ·CreatePolygonRgn
- ·用VB实现井字游戏
- ·利用硬盘序列号计算软件注册码
- ·串口通讯及其在VB平台下的实现
- ·VB中用Multimedia MCI控件开发多媒体应用
- ·在VFP、VB应用程序中激活鼠标功能
- ·VB.NET实现窗体图标最小化到状态栏
- ·VB 9新特性—保留与舍去了什么?
- ·VB基础学习:编码规范
- ·VB设计有语音报时和报警功能的闹钟
- ·用VB6分离出文本框的单词
- ·用VB实现Win2000用户限时登录
- ·VB应用程序中实现“查找和替换”功能
特别推荐
- ·VB表格控件总览与例程分析
- ·用VB6.0制作画图板
- ·VB打造超酷个性化菜单(六)
- ·MSHFlexGrid 控件的应用
- ·Visual Basic 控件简介
- ·利用硬盘序列号计算软件注册码
- ·计算机等级考试二级VB常用算法:排序
- ·用diskid.dll和disk32.dll获得硬盘序列号
- ·VB6中使用Winsock穿越各种代理的实现
- ·在VFP、VB应用程序中激活鼠标功能
- ·vb基础(打印问题)
- ·想用就用,VB基础代码
- ·运用多媒体WAV文件格式二三例
- ·VB基础学习:编码规范
- ·VB实现程序的隐形
- ·使用.NET Framework从VB6中访问事件日志
- ·怎样把VC++代码转换成VB代码
- ·如何用VB程序来播放WAV文件
- ·VB 实用函数集
- ·用VB制作RM压缩软件
