关于IFIX历史报警数据(shùjù)存储与查询实例 一.ODBC服务(fúwù)的连接
开始(kāishǐ)-设置(shèzhì)-控制面板-管理工具-数据源ODBC
选用户(yònghù)DNS-添加-选Microsoft Access Driver(*.mdb)
数据源名:Myalarm
选(或创建)数据库名:Alarm.mdb, 文件类型:Access,驱动器D: 连接池-禁止
二.系统SCU的配置
SCU-IFIX-配置-报警-报警ODBC服务,启动-修改-
区域(A):从报警区域数据库中选择- CLQS-ALM-增加-确定
云p 配置:数据库类型:Access
数据库标识符:Myalarm
列配置:选9项
现在创建表:FIXALARMS(默认表名)
其它默认-确定
保存 退出
三.控件的引用
典型装VB6.0后,
项目工具栏文件----工具栏----插入OLE对象
双击选Microsoft date and time picker控件
日期控件-属性-格式:1-dtpShortDate,有效前不打勾。其它默认,
时间控件-属性-格式:2-dtpTime, 有效前不打勾。其它默认
2.vxData控件(数据管道)
IFIX4.0工具箱底部vxData图标
右键-属性(shǔxìng)vxData对象(duìxiàng)----PROPERTIES VISICONXDATA VXDATA对象(duìxiàng)
提供者:Microsoft OLE DB Provider for ODBC Drivers
数据库:DNS名:Myalarm,用户名 密码(mì mǎ) 选项均空---测试(cèshì)连接-测试连接成功-确定
记录源:命令类型:SQL命令
应用-确定
3.vxGrid控件(显示氮化硅结合碳化硅制品)
工具箱底部vxGrid图标
选控件接触式位移传感器 vxGrid1-右键-动画-高级-高级动画配置-行为-ADORecords-动画打勾
数据源:报警记录一览表.vxData1.ADORecords
ostasksuspend
数据转换:对象
四.VBA脚本的编写
1.初始化脚本代码
'初始化设置
Private Sub CFixPicture_Initialize()
'设定默认开始时间
Me.DTPFromDate = DateAdd("d", -1, Now)
Me.DTPFromTime = ("00:00:00")
'设默认结束(jiéshù)时间
Me.DTPEndDate = Now
Me.DTPEndTime = Now
'设置(shèzhì)时间
'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")
'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")
End Sub
2. 查询(cháxún)按扭CmbSearch代码(dài mǎ)如下:
'开始(kāishǐ)查询
Private Sub CmbSearch_Click()
'连接自动刷新
Me.vxData1.AutoRefresh = True
'Format函数用于设定时间格式
vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")
vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")
'设定查询内容
'从数据库中查询符合时间段的数据6fan
Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _
"(FIXALARMS.ALM_NATIVETIMEIN >= {ts 'QP1'})AND(FIXALARMS.ALM_NATIVETIMELAST <= {ts 'QP2'})"
'刷新数据
Me.vxData1.Refresh
Me.vxGrid1.Refresh
End Sub
3. 完整的VBA按扭代码如下:
'初始化设置(shèzhì)
Private Sub CFixPicture_Initialize()
'设定(shè dìnɡ)默认开始时间
Me.DTPFromDate = DateAdd("d", -1, Now)
Me.DTPFromTime = ("00:00:00")
'设默认(mòrèn)结束时间
Me.DTPEndDate = Now
毛刷制作
Me.DTPEndTime = Now
'设置(shèzhì)时间
'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")
'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPEndTime.Value, "HH:MM:SS")
End Sub
Private Sub CFixPicture_KeyDown(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean)
End Sub
'开始(kāishǐ)查询