

上节我们已经用VB编写了一个小程序,用来读取RSLinx软件的变量记录到数据库内。
现在你所需要的数据就静静地躺在数据库里,等待着你的临幸。此时老司机会使用很多种工具用很多种办法驾驭它们,可是王老湿还比较弱,只能用VB,也只会用VB。
听说VB有高级的版本,叫http://VB.Net,跟C#、C++一起在VisualStudio软件里面编写,这一听就高大上,有逼格,可惜咱还没用过呢,这次把文章写完,咱也换到VS里面体验一下http://VB.Net的感觉。话说这也是王老湿最后一次拿报表说事了,其实本文也没有局限于哪款组态软件,如果你用的组态软件没有灵活的报表编辑功能,那么希望你可以好好参考一下王老湿的这篇文章。给你启发不敢说,至少有需要的时候可以直接拿源码Copy。无非就是从数据库里把数据库拿出来而已嘛。当然如果你用的组态软件有成熟灵活的报表编辑功能,恭喜你,获得了一款牛逼的软件,你可以在别人苦苦放AOE的时候去打野了。
前文提过,在RSViewSE里面做报表,我们在SE的画面内嵌入了一个spreadsheet控件,那么在VB里面,我们依然可以使用这个控件。
如果你的VB引用里面没有这个控件,你需要下载一个OWC11.dll的文件,并且注册该文件后才能使用。
OK,注册完以后,新建一个VB标准程序,新建一个窗体,在工程>部件里面勾选MicrosoftofficeWebComponent11.0这个文件,接口在窗口看到相关的控件。

1、在VB的窗体上拉个spreadsheet表格出来,同时拉出Dtpicker和ComboBox控件,用来做查询的条件,放两个按钮,一个查询,一个导出文件

2、编写程序,先写报表格式定义程序,这个人之前在RSViewSE里面嵌入Spreadsheet是一样的设置。

3、编写程序,从SQLServer数据库读取数据

4、封装表格填写数据的程序,封装成子函数使用,然后将读回来的数据写进去

给窗体的表格填写数据时,可以实现按照选定的时间和泵站编号来查询内容写入到表格内

5、下拉框初始化参数
下拉框内填写从数据库读回来的泵站编号

6、增加数据导出功能

7、生成exe程序并且运行起来



介绍了这么几种方法,大家也能发现一个问题,其实不管那个组态软件,要想实现比较复杂的报表功能都需要数据库的参与,而对这些数据库的操作都离不开脚本语言,VBA、VBS、JS、QuickScript。其实这些语言都很简单,在组态软件里面用到的也只是一些基本功能。当然,使用脚本语言只是来实现一些特定的功能而已,组态软件的主要作用依然是监控和操作现场设备,不可本末倒置,需要时简单学习一下即可。
OK,在RSViewSE软件内嵌入报表的常规做法已经介绍完了,无论哪种都能实现生产数据展示的需求,你可以根据实际情况选择一种方法去做。



免责申明:本机构号所载文章为本号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请跟我们联系协商或删除,谢谢!
本文为剑指工控原创技术类文章,2020年4月2日首次发表于《剑指工控》公众号。
本账号为《剑指工控》官方知乎账号。剑指工控由一群带有工控情结的技术青年组织在一起,他们都是在工控一线的技术达人,如果你是工控一线的工程师,如果你在日常工控工作当中会遇到种种的技术问题,如果你热爱工控技术和工控生活,欢迎加入我们,随手提出你的技术问题会有技术达人第一时间为你解答。可以分享你的工控喜怒哀乐,会有兄弟们跟你产生共鸣。可以获得最新的工控资讯,指明技术和行业路线,做到未雨绸缪。
欢迎大家关注我们的公众号剑指工控(JZGKCHINA),更多的了解我们。
Ps. 进入公众号,“群&社区”菜单中有各个”技术交流学习群“的入口链接,获取小编微信号,添加小编微信并备注“行业+微信名+城市”(格式不对能通过好友验证,但一律不加群)
高校在校生请告知小编,进入“高校自动化专业交流群”~
高校自动化专业群,旨在专业课程学习,专业方向选择,课程设计,毕业设计,就业方向,考研方向,高校杯自动化竞赛等方面进行交流和经验分享~
期待你的加入~