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

器安装环境和运维管理工具推荐

今天看到一个网友从原来虚拟主机准备转移至服务器管理自己的业务。这里问到虚拟主机和服务器到底有什么不同,需要用到哪些工具软件。那准备在下班之间稍微摸鱼一下整理我们服务器安装环境和运维管理中常见需要用到的软件工具推荐。第一、系统镜像软件一般来说,我们云服务器或者独立服务器都是有自带镜像的。我们只需要选择镜像安装就可以,比如有 Windows和Linux。但是有些时候我们可能需要自定义镜像的高级玩法,这...

香港站群多ip服务器多少钱?零途云香港站群云服务器怎么样?

香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...

快云科技,免云服务器75折优惠服务器快云21元/月

近日快云科技发布了最新的夏季优惠促销活动,主要针对旗下的香港CN2 GIA系列的VPS云服务器产品推送的最新的75折优惠码,国内回程三网CN2 GIA,平均延迟50ms以下,硬件配置方面采用E5 2696v2、E5 2696V4 铂金Platinum等,基于KVM虚拟架构,采用SSD硬盘存储,RAID10阵列保障数据安全,有需要香港免备案CN2服务器的朋友可以关注一下。快云科技怎么样?快云科技好不...

vb net 教程为你推荐
明星论坛怎么建免费的论坛网站?赵雨润星辰变玩家可以成为星辰变演员?这是真的吗?打开网页出现错误我打开网页老出现错误是怎么了?eset最新用户名密码ESET4.0最新用户名和密码直播加速怎么让已拍摄好的视频加速保护气球抖音里面看的,这是什么游戏宕机宕机 这个词是什么意思啊网管工具网吧工具有什么?网络虚拟机如何设置vmware虚拟机网络服务器连接异常主服务器连接异常
国际域名 紧急升级请记住新域名 二级域名查询 互联网域名管理办法 华为云服务 申请空间 java虚拟主机 空间论坛 域名评估 metalink 免费dns解析 yundun starry lamp什么意思 酸酸乳 阿里云邮箱登陆 网站加速 apnic apache启动失败 web是什么意思 更多