发布时间 : 星期六 文章IFIX历史报警数据存储与查询更新完毕开始阅读
关于IFIX历史报警数据存储与查询实例
一.ODBC服务的连接
开始-设置-控制面板-管理工具-数据源ODBC
选用户DNS-添加-选Microsoft Access Driver(*.mdb)
数据源名:Myalarm
选(或创建)数据库名:Alarm.mdb, 文件类型:Access,驱动器D:
连接池-禁止
二.系统SCU的配置
SCU-IFIX-配置-报警-报警ODBC服务,启动-修改-
区域(A):从报警区域数据库中选择- CLQS-ALM-增加-确定 配置:数据库类型:Access 数据库标识符:Myalarm 列配置:选9项
现在创建表:FIXALARMS(默认表名) 其它默认-确定 保存 退出
三.控件的引用
1.日期时间控件
典型装VB6.0后,
项目工具栏文件----工具栏----插入OLE对象
双击选Microsoft date and time picker控件
日期控件-属性-格式:1-dtpShortDate,有效前不打勾。其它默认,
时间控件-属性-格式:2-dtpTime, 有效前不打勾。其它默认
2.vxData控件(数据管道)
IFIX4.0工具箱底部vxData图标
右键-属性vxData对象----PROPERTIES VISICONXDATA VXDATA对象
提供者:Microsoft OLE DB Provider for ODBC Drivers
数据库:DNS名:Myalarm,用户名 密码 选项均空---测试连接-测试连接成功-确定
记录源:命令类型:SQL命令 应用-确定
3.vxGrid控件(显示)
工具箱底部vxGrid图标
选控件 vxGrid1-右键-动画-高级-高级动画配置-行为-ADORecords-动画打勾 数据源:报警记录一览表.vxData1.ADORecords 数据转换:对象
四.VBA脚本的编写 1.初始化脚本代码
'初始化设置
Private Sub CFixPicture_Initialize() '设定默认开始时间
Me.DTPFromDate = DateAdd(\
Me.DTPFromTime = (\
'设默认结束时间
Me.DTPEndDate = Now Me.DTPEndTime = Now '设置时间
'vxData1.QP1 = Format(Me.DTPFromDate.Value, \mat(Me.DTPFromTime.Value, \
'vxData1.QP2 = Format(Me.DTPEndDate.Value, \at(Me.DTPEndTime.Value, \ End Sub
2. 查询按扭CmbSearch代码如下:
'开始查询
Private Sub CmbSearch_Click()
'连接自动刷新
Me.vxData1.AutoRefresh = True 'Format函数用于设定时间格式
vxData1.QP1 = Format(Me.DTPFromDate.Value, \at(Me.DTPFromTime.Value, \
vxData1.QP2 = Format(Me.DTPEndDate.Value, \t(Me.DTPEndTime.Value, \'设定查询内容
'从数据库中查询符合时间段的数据
Me.vxData1.SQLCommand = \
\MELAST <= {ts 'QP2'})\ '刷新数据
Me.vxData1.Refresh Me.vxGrid1.Refresh End Sub
3. 完整的VBA按扭代码如下:
'初始化设置
Private Sub CFixPicture_Initialize() '设定默认开始时间
Me.DTPFromDate = DateAdd(\Me.DTPFromTime = (\
'设默认结束时间
Me.DTPEndDate = Now Me.DTPEndTime = Now '设置时间
'vxData1.QP1 = Format(Me.DTPFromDate.Value, \mat(Me.DTPFromTime.Value, \
'vxData1.QP2 = Format(Me.DTPEndDate.Value, \at(Me.DTPEndTime.Value, \
End Sub
Private Sub CFixPicture_KeyDown(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean)
End Sub '开始查询
Private Sub CmbSearch_Click()
'连接自动刷新
Me.vxData1.AutoRefresh = True 'Format函数用于设定时间格式
vxData1.QP1 = Format(Me.DTPFromDate.Value, \at(Me.DTPFromTime.Value, \
vxData1.QP2 = Format(Me.DTPEndDate.Value, \t(Me.DTPEndTime.Value, \'设定查询内容
'从数据库中查询符合时间段的数据
Me.vxData1.SQLCommand = \
\MELAST <= {ts 'QP2'})\ '刷新数据
Me.vxData1.Refresh Me.vxGrid1.Refresh End Sub
以上工作结束后保存,退出。重新启动IFIX4.0,运行后即可使用