报表在VB中使用水晶报表的一种简易编程方法-.NET教程,VB.Net语言

vb net 教程  时间:2021-02-15  阅读:()

 水晶报表crystal report的业内最专业、功能最强的报表系统他除了强大的报表功能外最大的优势是实现了和绝大多数流行研发工具的集成和接口。在vs net平台做过报表研发的程式员一定都对水晶报表强大、高效、集成等特性留下了深刻印象。除了研发新程式外在工作中我们常需要接触到非常多较早的软件系统报表功能升级的需求如果能结合水晶报表这一强大的工具往往能事半功倍。vb是以前流行的数据库研发平台用其研发的c/s系统在社会上有非常大的保有量但vb超弱的报表功能往往让程式员面对客户的升级需求一筹莫展。本文并不做水晶报表的使用和编程教学实际上水晶报表本身的使用方法和vs net平台并没有太大的差别我主要是和大家探讨一下vb和水晶报表的一种较方便的接口方式。我的研发测试平台是windows2003 standard简体中文版、 vb60+sp5英文版、 crystal 90简体中文研发版。

关于在水晶报表中制作报表模板的方法并非本文的探讨范围读者能参考crystal report的帮助文件和官方网站的技术资料。简单地说首先要通过水晶报表的数据库引擎手动连接相应的表结构制作报表模板并保存为rpt文件该项操作和利用vb自带的报表工具制作报表大同小异。

用vb调用水晶报表进行报表研发的简单接口方法就是在水晶报表中用"仅字段定义"来获得字段分布文件用虚拟的文件创建表字段用craxdrt对象来强制改动数据源ado recordset 其效果相当于在vb中调用了rpt文件。下面分步骤介绍编程方法。

第一步

在vb工程中project菜单加入"add crystal report 9"报表名使用默认即可。这时form2 crystal rerport自动添加的form假设名为form 2被自动分配了如下代码option expl icitdim report as new cystal1private sub form_load()screen mousepointer=vbhourglass调用水晶报表时置鼠标为沙漏状crviewer91 reportsource=report该语句的赋值将在后面被修改crviewer91 viewreportscreen mousepointer=vbdefault调用水晶报表完成后置鼠标为默认形状endsubprivate sub form_resize()crviewer91 top=0crviewer91 left=0crviewer91 height=scaleheightcrviewer91 width=scalewidthendsub

第二步

点击crystal report设计器的"数据库字段"选定"数据库专家 "然后点"创建新连接"再点"仅字段定义"创建"数据库定义"文件字段名和宽度和原数据库表保持一致。最后在数据库字段中获得了相应字段将其置于报表上按水晶报表的需求设置。

第三步

该步骤非常关键添加一个modual到工程文件中定义全局的adodb变量实现数据库和水晶报表的动态连接。代码如下publ ic conn as new adodb connectionpubl ic rs as new adodb recordset

第四步

关于vb程式的ado数据库连接注意事项请看下面的打印按钮例程。private sub command1_cl ick()

dim connstr as stringif conn state=adstateopen then conn closeconnstr="provider=microsoft jet oledb 40;data source="&app path&"prtest mdb;persist security info=false"prtest mdb是程式当前目录的测试access数据库conn connectionstring=connstrconn openconn cursorlocation=adusecl ientif rs state=adstateopen then rs closers open"test",conn,adopenkeyset,adlockreadonlyreport database setdatasource rs,3, 1此行取消form2 show 1数据库连接完成后调用form2水晶报表工程endsub

需要提请大家注意的是上面代码中的report database setdatasource rs,3, 1是初用水晶报表的程式员容易犯的错误使用该语句后将造成数据库和水晶报表的连接失败。怎么动态调用水晶报表呢请看第五步。

第五步

创建水晶报表和数据库数据源的连接需要修改上面form 2的代码。option expl icitdim report as new cystal1

上面一行取消private sub form_load()dim oapp as new craxdrt appl icationdim orpt as craxdrt reportdim reportname as string

上面三行是新增加的screen mousepointer=vbhourglassreportname="rptpr1 rpt" 定义要引用的rpt文件set orpt=oapp openreport(app path&reportname, 1)orpt database setdatasource rs连接水晶报表和数据源orpt readrecordscrviewer91 reportsource=orpt启用水晶报表的预览功能crviewer91 viewreportscreen mousepointer=vbdefault

endsubprivate sub form_resize()crviewer91 top=0crviewer91 left=0crviewer91 height=scaleheightcrviewer91 width=scalewidthendsubprivate sub form_unload(cancel as integer)set report=nothingset rs=nothi ngset conn=nothingunload form2endsub

上面介绍了在vb中使用水晶报表进行报表研发的一种方法该方法简单易用适合初学者上手。大家熟悉以后还能继续学习crystal report提供的api函数l ib库 crpe32 dl l进行水晶报表研发能获得更大的灵活性。 完

41云,服务器8折优惠券,200G TCP防御

41云怎么样?41云是国人主机品牌,目前经营产品有国内外云服务器、CDN(高防CDN)和物理机,其中国内外云服务器又细分小类有香港限流量VPS、香港大带宽VPS、香港弹性自选VPS、香港不限流VPS、香港BGP线路VPS、香港Cera+大带宽机器、美国超防VPS、韩国原生VPS、仁川原生VPS、日本CN2 VPS、枣庄高防VPS和金华高防VPS;物理机有美国Cera服务器、香港单程CN2服务器、香...

819云互联 香港 日本 美国 2核4G 18元 8核8G 39元 免费空间 免费CDN 香港 E3 16G 20M 230元/月

819云互联是海外领先的互联网业务平台服务提供商。专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前平台研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的海外资源、香港,日本,美国等各国优质的IDC资源。官方网站:https://www.819yun.com香港特价物理服务器:地区CPU内存带宽...

TMThosting夏季促销:VPS月付7折,年付65折,独立服务器95折,西雅图机房

TMThosting发布了一个2021 Summer Sale活动,针对西雅图VPS主机提供月付7折优惠码,年付65折优惠码,独立服务器提供95折优惠码,本轮促销活动到7月25日。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget ...

vb net 教程为你推荐
可以发外链的论坛给几个可以发外链的论坛,还有分类信息网,不要有限制的哪种,收录不收录无所谓郭吉军一个新的品牌,要怎么做网络推广伪静态什么是伪静态网站?伪静态网站有什么优势唱吧电脑版官方下载电脑怎么安装唱吧,要能用的,请教教程,谢谢腾讯文章腾讯新闻的精选微信里面收藏的文章在哪里奇虎论坛奇虎问答是什么商标注册查询官网怎么查商标有没有注册ios系统ios系统和安卓系统对比起来有什么优点和缺点?系统分析员系统分析员的工作内容网站优化方案网站优化方案怎么写?
vps租用 主机测评网 域名优惠码 名片模板psd 本网站服务器在美国 gg广告 域名转向 电子邮件服务器 共享主机 怎么建立邮箱 drupal安装 四川电信商城 百度云加速 贵阳电信测速 国外网页代理 netvigator phpinfo globalsign 远程登录 hosts文件 更多