报表在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进行水晶报表研发能获得更大的灵活性。 完

PacificRack 下架旧款方案 续费涨价 谨慎自动续费

前几天看到网友反馈到PacificRack商家关于处理问题的工单速度慢,于是也有后台提交个工单问问,没有得到答复导致工单自动停止,不清楚商家最近在调整什么。而且看到有网友反馈到,PacificRack 商家的之前年付低价套餐全部下架,而且如果到期续费的话账单中的产品价格会涨价不少。所以,如果我们有需要续费产品的话,谨慎选择。1、特价产品下架我们看到他们的所有原来发布的特价方案均已下架。如果我们已有...

搬瓦工最新套餐KVM,CN2线路

搬瓦工在国内非常流行的主机商,以提供低价的vps著称.不过近几年价格逐渐攀升.不过稳定性和速度一向不错.依然深受国内vps爱好者喜爱.新上线的套餐经常卖到断货.支持支付宝,paypal很方便购买和使用.官网网站:https://www.bandwagonhost.com[不能直接访问,已墙]https://www.bwh88.net[有些地区不能直接访问]https://www.bwh81.net...

6元虚拟主机是否值得购买

6元虚拟主机是否值得购买?近期各商家都纷纷推出了优质便宜的虚拟主机产品,其中不少6元的虚拟主机,这种主机是否值得购买,下面我们一起来看看。1、百度云6元体验三个月(活动时间有限抓紧体验)体验地址:https://cloud.baidu.com/campaign/experience/index.html?from=bchPromotion20182、Ucloud 10元云主机体验地址:https:...

vb net 教程为你推荐
万维读者网罂粟花的含义?人人时光机怎么查看人人网的注册时间?bluestacksBlueStacks是什么?在PC上畅玩Android 45万款应用网站联盟网络联盟是什么意思如何建立一个网站如何建立一个网站免费免费建站最好的免费建站2012年正月十五山西省太原市2012年正月十五活动的相关情况安全漏洞web安全漏洞有哪些分词技术中文分词的应用什么是云平台什么是云平台管理软件,一个云平台软件应该具有哪些基本功能
虚拟主机试用 双线服务器租用 荷兰vps 服务器评测 kvmla mach http500内部服务器错误 css样式大全 qq数据库 浙江独立 三拼域名 权嘉云 架设服务器 建立邮箱 gspeed 已备案删除域名 100m独享 网络空间租赁 台湾谷歌 Updog 更多