求高人帮我看看这段程序哪里有问题,万谢!
Sub OnClick(ByVal Item)
Dim dataname,m
Dim ltimebegin,ltimeend,utctimebegin,utctimeend
Dim scon,ssql,ors,ocom
Dim mint,moutt,boutt,bint
item.Enabled=False
On Error Resume Next
Set dataname = HMIRuntime.Tags("@DatasourceNameRT").Read
Set ltimebegin = HMIRuntime.Tags("tag_timebegin").Read
Set ltimeend = HMIRuntime.Tags("tag_timeend").Read
Msgbox "open with:"&dataname <imebegin
utctimebegin = Dateadd("h",-8,ltimebegin.value)
utctimeend = Dateadd("h",-8,ltimeend.value)
utctimebegin
= Year(utctimebegin) & "-" & Month(utctimebegin) & "-"
& Day(utctimebegin) & " " & Hour(utctimebegin) & ":"
& Minute(utctimebegin) & ":" & Second(utctimebegin)
utctimeend
= Year(utctimeend) & "-" & Month(utctimeend) & "-" &
Day(utctimeend) & " " & Hour(utctimeend) & ":" &
Minute(utctimeend) & ":" & Second(utctimeend)
scon = "Provider=WinCCOLEDBProvider.1; Catalog='&dataname.value&'; Data Source=ES.\WinCC"
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = scon
conn.CursorLocation = 3
conn.Open
ssql
=
"Tag:R,('lsw\branch_intemperature,lsw\branch_outtemperature,lsw\main_outtemperature,lsw\main_intemperature'),'"&utctimebegin&"','"&utctimeend&"'"
ssql = ssql + "order by timestamp ASC"
MsgBox "open with:" &vbCr & scon &vbCr &ssql &vbCr
Set ors = CreateObject("ADODB.Recordset")
Set ocom = CreateObject("ADODB.Command")
ocom.CommandType = 1
Set ocom.ActiveConnection = conn
ocom.CommandText = ssql
Set ors=ocom.Execute
m=ors.RecordCount
If m > 0 Then
bint = ors.fields(0).value
boutt = ors.fields(1).value
moutt = ors.fields(2).value
mint = ors.fields(4).value
Else
MsgBox "没有查询到数据............."
item.Enabled=True
Set ors=Nothing
conn.close
Set conn=Nothing
End If
Set ors=Nothing
conn.close
Set conn=Nothing
HMIRuntime.Tags("branch_int").Write bint
HMIRuntime.Tags("branch_outt").Write boutt
HMIRuntime.Tags("main_int").Write mint
HMIRuntime.Tags("main_outt").Write moutt
End Sub