RSView32利用VBA实现报警历史查询概要 下载本文

内容发布更新时间 : 2024/11/10 5:09:22星期一 下面是文章的全部内容请认真阅读。

RSView32利用VBA实现报警历史查询

当我们需要查看前一天或前一个月的报警记录的时候,RSV ew32并没有提供很好的办法。经过研究发现,所有报警信息都是保存在DBF格式的数据库中的。但是用E×CEL等工具打开后发现,该数据库里面并没有报警描述。于是我们必须要从变量(也称标记,为方便叙述,以下都称做变量)数据库中将报警变量以及对应的描述提取出来,做成一个数据库或数据表,再与DBF数据库中的内容合并后显示出来。具体步骤如下:

在工程窗体上添加两个命令按钮Commandl和Command2以及两个列表框List1和List2。Commandl用来提取报警变量以及对应的描述,并保存到数据库中。Command2则用来打开DBF报警信息数据库,与报警描述合并后显示出来。列表框List1用来显示所有存在的报警文件。列表框List2用来显示最终结果。

要实现这些功能,必须引用RSView32 Object Model,即RSView32对象模型。还要引用Microsoft ActiveX Objects2.8 Urbrary,用来操作数据库。这个引用在版本上并不要求完全一致,在不同的系统中略有差别,总之选择最高版本就可以了。

下面为示例代码以及详细注释: 首先必须引用RSView32 Object Model

引用Microsoft ActiveX Objects 2 8 Lirbrary

Dim gRsvApp As RSView32 Application

Dim gProject As RSView32 Project

Dim gTagDb As RSView32.TagDb

Dim gTags As Tags

Private Sub Command1一 Click() ’提取报警变量以及对应的报警描述

Dim MTag As Tag

Dim Link As New ADODB Connection

Dim Rs As New ADODB Recordset

Link.CursorLocation:adUseClient ’打开已经建立好的ACCESS数据库AImTag mdb, 包含Tag、Description两个字段

Link.COnnecti0nSf ring = ”Provider=Microsoft Jet.OLEDB 4 0;Data

Source=AImTag.mdb;Persist Security Info=False”

Link Open

Set gTags= gTagDb.QueryForTags( ) ’查询RSView32所有变量

For Each MTag In gTags ’检查每个变量

If MTag.Alarmed = True Then ’如果该变量为报警变量,则将变量以及描述添加到ACCESS数据库AImTag.mdb

Rs Open ”Select From AImTag ,Link.adOpenDynamic,adLockBatchOptimistic