这是一篇关于数据库方面毕业论文参考文献格式范文,与利用MicrosfotExcel实现组态软件复杂报表方法的相关毕业论文格式范文。是论文格式专业与数据库及报表及数据方面相关的免费优秀学术论文范文资料,可作为数据库方面的大学硕士与本科毕业论文开题报告范文和职称论文论文写作参考文献下载。
摘 要 :文章主要描述如何利用Microsoft Excel在组态软件中实现复杂报表中的方法,通过对各种实用方法的研究和比较,解决组态软件在实际应用中编制复杂报表功能不足的问题.文章以RSView为例进行描述,采用VBA、ActiveX等技术作为扩充的组态软件如iFix、Vijeo Citect等都可以借鉴.
关 键 词 :Microsoft Excel RSView 组态软件复杂报表 ADO 研究
中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2013)02-0075-02
RSView是Rockwell Automation公司自动化集成架构可视化解决方案的重要组成部分,在统一开发环境、多人同时开发、与控制器使用相同标签、预制控制面板、审核工具、多种类型报警和事件的统一等方面在很大程度上减少了开发时间和成本,并且在系统安全性、服务器冗余能力、网络通讯能力、代码和画面复用等方面和传统组态软件相比也作了极大的改进.但是在报表组态方面,依然没有质的改进和提高,除了能实现基本的定时数据报表、状态记录报表和报警记录报表以外,任何稍微复杂的报表都必须借助组态软件的VBA功能或者利用第三方软件来实现,其中Microsoft Excel由于其普遍性和适用性,在组态软件实现复杂报表的应用中尤为广泛.
利用Microsoft Excel实现RSView复杂报表的方法主要有以下两种:第一种方法是利用RSView内置的VBA功能,在RSView画面或窗体代码中,调用Excel控件,利用其强大的制表功能,实现复杂报表的制作和打印.该方法不需要运行人员切换到Microsoft Excel,从而实现无缝操作.第二种方法是Microsoft Excel作为客户端软件,利用其内嵌的VBA功能调用RSView实时数据或通过ADO等技术访问RSView历史数据库,经数据处理后生成所需报表并进行打印.该方法需要运行人员切换到Excel进行操作,容易使运行人员访问操作系统或其它应用程序,对安全性不利.由于两种方法实现复杂报表的过程、访问数据库的方法都相类似,只是VBA的“宿主”不同,本文结合实际应用案例介绍第一种方法的实现过程.
1.RSView的数据访问机制
RSView数据有两种类型,一种是实时数据,另一种是历史数据.由于这两种数据的设计方式不同,因此它们的访问方法也不一样.RSView的VBA项目中提供诸如gProject、gTagDB、gCommand等各种对象,利用这些对象可以在VBA中实现对RSView的各种操控和数据访问,例如可通过gCommand对象在VBA中执行RSView内置命令,通过gProject对象可访问工程属性或其它工程的信息,通过gTagDB对象可访问RSView实时数据库的标签并对其进行读写操作;而对于历史数据,组态软件一般都以dBaseIV、ODBC或其它类型数据库的形式保存,在VBA中通过ADO对象模型即可进行访问.如果是dBaseIV类型的数据,还可以在VBA中通过Excel对象的Workbooks、Worksheets等直接访问数据库.
这篇论文url http://www.sxsky.net/geshi/432818.html
2.RSView对Excel的访问机制
RSview对Excel进行访问的方式有两种,一是利用DDE动态数据交换技术,该方法数据交换速度低、效率差,应用不广泛,仅适用于小规模工程应用.二是利用RSView的VBA编辑器中引用Microsoft Excel Object Library对象,通过编写VBA程序直接操控和访问Excel,该方法速度快、效率高,适用于处理大批量数据的复杂报表的工程应用.
3.Microsoft Excel表格的使用效果及作用
首先,Microsoft Excel可迅速地构建各种专业级别的电子表格,并且具有改进的公式创建功能、增强的行列处理能力,计算速度快,具有必需的图库和样式模板,能满足各种规格、不同复杂程度的工程应用.
其次,Microsoft Excel内置的制图引擎能够快速地制作专业外观的图表和图形,利用该功能可以将各种数值报表转换成各种图形报表,以得到更直观、更有效的分析结果.
最后,Microsoft Excel可以实现与Office套装软件的资源共享并可连接到企业数据,保持Excel电子表格和后台数据源之间的持久连接,这样就能在Excel里面深入分析更详细、更全面的信息.
4.应用案例分析
在组态软件中实现复杂报表的基本过程是:首先规划工程的报表类型;其次利用Microsoft Excel编辑功能制作静态报表模板,虽然也能通过RSView VBA操控Excel直接生成各种类型的表格,但编制报表模板可以大大减化VBA代码并提高效率,因此建议先制作静态报表模板;然后编写RSView VBA代码将实时数据和历史数据写入Excel各个单元格,生成数据报表;最后通过RSView VBA操控Excel或者直接操作Excel生成各种图形报表,并预览或者打印.下面针对上述步骤对主要技术点进行分析.
4.1 规划工程的报表类型
首先进行需求分析,确认工程所需的报表类型和数量,常用的报表按数据源分有操作记录报表、报警记录报表、定时数据记录报表和分析报表,按时间跨度分有班报、日报、周报、月报或年报,按表达形式分有数值报表、图形报表等.
4.2 制作Excel静态报表模板
利用Excel强大的编辑功能,制作一个静态报表模板文件如Report.xls,文件中每个工作表对应一个报表的模板如Sheet1为DailyReport、Sheet2为MonthlyReport等等.使用Excel报表模板可实现满足各种要求的复杂报表,提高报表与VBA 程序之间的独立性,减少VBA代码的复杂性,便于维护. 4.3 获取实时数据和历史数据
如前文所述,实时数据的访问可通过gTagDB对象完成,如iValue等于gTagdb.GetTag(“TagName”).Value即表示将标签“TagName”的值赋给变量iValue.
对于以dBASEIV数据库,由于Excel直接支持dBaseIV数据库文件,因此可以通过RSView VBA操控Excel直接打开相应的dBASEIV数据库文件,然后通过访问Excel单元格数据的形式获取历史数据并将所需的数据经处理后写入报表模板对应的单元格中.
对于以ODBC或其它关系数据库保存的历史数据,可以在RSView VBA中使用ADO对象来访问历史数据库并读/写其中数据.下面的代码以小型数据库Microsoft Access为例,实现数据库连接和数据查询功能.
首先定义ADO数据链接的对象变量:
Private conQuery As ADODB.Connection ;定义ADO数据链接对象
Private recQuery As ADODB.Recordset ;定义ADO记录集
然后对ADO数据链接对象变量进行赋值:
Set conQuery等于New ADODB.Connection ;创建ADO数据链接对象并赋值
conQuery.Provider等于"Microsoft.Jet.OLEDB.4.0"
conQuery.ConnectionString等于gProject.Path & "\Status.mdb";“Status.mdb”为本例数据库名称,如果是SQL Server或Oracle数据库,则ADO数据链接对象的属性设置略有不同
conQuery.Open ;链接数据库成功则继续,否则需转故障处理代码
最后在数据库链接成功后利用SQL查询获取满足条件的数据记录集:
Set recQuery等于New ADODB.Recordset
recQuery.Open sSQL,conQuery,adOpenStatic,_ adLockOptimistic;按sSQL指定的查询条件获取数据库中相应表格的记录集recQuery
数据库自考专科毕业写论文怎么写
播放:24007次 评论:3963人
至此,可以利用记录集的MoveFirst、MoveNext等方法选择记录,并利用Fields获取所需记录的字段值如sValue 等于 recQuery.Fields(“DateAdnTime”)表示将当前记录的字段“DateAdnTime”的值赋给变量sValue.
4.4 打开并访问预制的Excel报表模板
首先尝试获取Excel应用程序对象,如果失败,则创建对象:
On Error GoTo CreateExcel
Set objxls等于GetObject(,"Excel.Application")
On Error GoTo ErrHandler
GoTo Num1
CreateExcel:
Set objxls等于CreateObject("Excel.Appl