回复:WINCC查询归档DBGRID控件的使用

a58432898

  • 帖子

    5
  • 精华

    0
  • 被关注

    2

论坛等级:新手

注册时间:2011-07-29

普通 普通 如何晋级?

发布于 2015-03-12 17:22:37

1楼

'变量定义和初始化
Dim sPro,sDsn,sSer,sCon,conn,sSql,oRs,oCom
Dim m,i,j
Dim LocalBeginTime, LocalEndTime


item.Enabled = False
On Error Resume Next



'准备查询条件 Catalog、UTC开始时间、UTC结束时间、时间间隔
Dim tagDSNName
Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
tagDSNName.Read

Dim DTPicker1,DTPicker2,DTPicker3,DTPicker4
Set DTPicker1=ScreenItems("DTPicker1")
Set DTPicker2=ScreenItems("DTPicker2")
Set DTPicker3=ScreenItems("DTPicker3")
Set DTPicker4=ScreenItems("DTPicker4")

Dim UTCBeginTime, UTCEndTime
UTCBeginTime = Year(DTPicker1.value) & "-" & Month(DTPicker1.value) & "-" & Day(DTPicker1.value) & " " & Hour(DTPicker2.value) & ":" & Minute(DTPicker2.value) & ":" & Second(DTPicker2.value)
UTCEndTime = Year(DTPicker3.value) & "-" & Month(DTPicker3.value) & "-" & Day(DTPicker3.value) & " " & Hour(DTPicker4.value) & ":" & Minute(DTPicker4.value) & ":" & Second(DTPicker4.value)

UTCBeginTime = DateAdd("h" ,-8,UTCBeginTime)
UTCEndTime= DateAdd("h" ,-8,UTCEndTime)

UTCBeginTime = Year(UTCBeginTime) & "-" & Month(UTCBeginTime) & "-" & Day(UTCBeginTime) & " " & Hour(UTCBeginTime) & ":" & Minute(UTCBeginTime) & ":" & Second(UTCBeginTime)
UTCEndTime = Year(UTCEndTime) & "-" & Month(UTCEndTime) & "-" & Day(UTCEndTime) & " " & Hour(UTCEndTime) & ":" & Minute(UTCEndTime) & ":" & Second(UTCEndTime)


'创建数据库联接
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=" &tagDSNName.Value& ";"
sSer = "Data Source=.\WinCC"
sCon = sPro + sDsn + sSer
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
conn.CursorLocation = 3
conn.Open

'******************************************************************************************************
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
'------------------------------------
'定义查询的命令文本 SQL

sSql = "Tag:R,('SPC\TEMP_1'),'" & UTCBeginTime & "','" & UTCEndTime & "',,'TimeStep=10,1'"

oCom.CommandText = sSql


'填充数据到ListView中
Set oRs = oCom.Execute
m=oRs.recordcount

Dim DBGrid1
Set DBGrid1=HMIRuntime.ActiveScreen.ScreenItems("控件4")

DBGrid1.ClearFields
DBGrid1.Caption="111"

DBGrid1.Columns(0).caption="aaa"
DBGrid1.Columns(1).caption="bbb"

Set DBGrid1.DataSource = oRs.Recordset

'DBGrid1.Refresh




'*****************************************************************************************
'释放资源
Set oRs = Nothing
conn.Close
Set conn = Nothing


item.Enabled = True
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32572条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。