VB中使用水晶报表编程的一种简单方法.docVIP

VB中使用水晶报表编程的一种简单方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB中使用水晶报表编程的一种简单方法   下载本文源代码   水晶报表(Crystal Report)是业内最专业、功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口。在VS.Net平台做过报表开发的程序员,一定都对水晶报表强大、高效、集成等特性留下了深刻印象。除了开发新程序外,在工作中我们常需要接触到很多较早的软件系统报表功能升级的需求,如果能结合水晶报表这一强大的工具,往往能事半功倍。   VB是以前流行的数据库开发平台,用其开发的C/S系统在社会上有非常大的保有量,但VB超弱的报表功能往往让程序员面对客户的升级要求一筹莫展。本文并不做水晶报表的使用和编程教学,实际上水晶报表本身的使用方法和VS.Net平台并没有太大的差别,我主要是和大家探讨一下VB和水晶报表的一种较方便的接口方式。我的开发测试平台是Windows2003 Standard简体中文版、VB6.0+sp5英文版、Crystal 9.0简体中文开发版。   关于在水晶报表中制作报表模板的方法,并非本文的探讨范围,读者可以参考Crystal Report的帮助文件和官方网站的技术资料。简单得说,首先要通过水晶报表的数据库引擎手动连接相应的表结构,制作报表模板,并保存为rpt文件,该项操作和利用VB自带的报表工具制作报表大同小异。   简单地说,用VB调用水晶报表进行报表开发的简单接口方法就是,在水晶报表中用仅字段定义来获得字段分布文件,用虚拟的文件创建表字段,用CRAXDRT对象来强制改变数据源(ADO.recordset),其效果相当于在VB中调用了rpt文件。下面分步骤介绍编程方法。   第一步:   在VB工程中Project菜单加入Add Crystal Report 9,报表名使用默认即可。这时Form2(Crystal Rerport自动添加的Form,假设名为Form2)被自动分配了如下代码: Option Explicit dim Report as New Cystal1 Private Sub Form_Load()  Screen.MousePointer = vbHourglass  调用水晶报表时置鼠标为沙漏状 CRViewer91.ReportSource = Report 该语句的赋值将在后面被修改  CRViewer91.ViewReport  Screen.MousePointer = vbDefault 调用水晶报表完成后置鼠标为默认形状 End Sub Private Sub Form_Resize()  CRViewer91.Top = 0  CRViewer91.Left = 0  CRViewer91.Height = ScaleHeight  CRViewer91.Width = ScaleWidth End Sub   第二步:   点击Crystal Report设计器的数据库字段,选定数据库专家…,然后点创建新连接,再点仅字段定义,创建数据库定义文件,字段名和宽度和原数据库表保持一致。最后,在数据库字段中获得了相应字段,将其置于报表上,按水晶报表的要求配置。   第三步:   该步骤非常关键,添加一个Modual到工程文件中,定义全局的ADODB变量,实现数据库和水晶报表的动态连接。代码如下: Public conn As New ADODB.Connection Public rs As New ADODB.Recordset   第四步:   关于VB程序的ADO数据库连接注意事项,请看下面的打印按钮例程。 Private Sub Command1_Click()  Dim connstr As String  If conn.State = adStateOpen Then conn.Close   connstr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= App.Path \prtest.mdb;Persist Security Info=False prtest.mdb是程序当前目录的测试Access数据库   conn.ConnectionString = connstr   conn.Open   conn.CursorLocation = adUseClient   If rs.State = adStateOpen Then rs.Close    rs.Open test, conn, adOpenKeyset, adLockReadOnly     Report.Database.SetDataSource rs, 3, 1  

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档