本人 小白 刚开始学习WINCC 跟着网上视频学习 代码如下 执行到红字后不能继续执行 只有注释掉后方可正常运行,求大佬帮忙分析下 哪里问题,谢谢
Sub OnOpen()
Dim kj1,kj2,kj3,kj4,kj5,kj6
Dim QR
Dim MSFlexGrid1 '对应表格控件名称
Dim LocalBeginTime, LocalEndTime,riqi
Dim oRs,oRs1,n,n1,i,z,s1,s11,oCom,oCom1,strcn,conn,pj
Dim zxy1
'查询当天全部数据,除了控件名称要注意修改外,以上其他为标准
Set MSFlexGrid1 = ScreenItems("AA") '对应表格控件名称
riqi = Now
LocalBeginTime = Year(riqi) & "-" & Month(riqi) & "-" & Day(riqi) & "" & "00:00:00"
LocalEndTime = Year(riqi) & "-" & Month(riqi) & "-" & Day(riqi) & "" & "23:59:59"
s1 = "SELECT DT,Name,B1,B2,B3,B4,B5 FROM biao WHERE DT BETWEEN '" & LocalBeginTime & "' And '" & LocalEndTime & "'ORDER BY DT"
's1后面的内容要对应数据库中列的内容,后面的DT与前面的DT要名称一致,enen要对应数据库列表名称dbo的名称
strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog=test2;Data Source=BXDPC\WINCC"
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = strcn
conn.CursorLocation = 3
conn.Open
's1 = "SELECT DT,name,a,b,c,d,e FROM en WHERE DT BETWEEN '" & LocalBeginTime & "' And '" & LocalEndTime & "'ORDER BY DT"
'Set oRs = CreateObject("ADODB.Recordset")
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
oCom.CommandText = s1 '执行检索功能
Set oRs = oCom.Execute
'n = oRs.RecordCount '获得检索到的总数
'HMIRuntime.Tags("I3").Write n
MSFlexGrid1.Clear
'MSFlexGrid1.Rows = oRs.RecordCount + 2
MSFlexGrid1.ColWidth(0) = 1500
MSFlexGrid1.ColWidth(1) = 2000
MSFlexGrid1.ColWidth(2) = 1500
MSFlexGrid1.ColWidth(3) = 1500
MSFlexGrid1.ColWidth(4) = 1500
MSFlexGrid1.ColWidth(5) = 1500
MSFlexGrid1.ColWidth(6) = 1500
MSFlexGrid1.ColWidth(7) = 1500
MSFlexGrid1.RowHeight(0) = 1200
MSFlexGrid1.RowHeight(1) = 600
MSFlexGrid1.Row = 0
For z = 0 To 7
MSFlexGrid1.CellFontSize = 12
MSFlexGrid1.Col = z
MSFlexGrid1.Text = "工况信息表"
Next
MSFlexGrid1.MergeCells = 4
MSFlexGrid1.MergeRow(0) = True
MSFlexGrid1.Row = 1
For z = 0 To 7
MSFlexGrid1.Col = z
MSFlexGrid1.CellBackColor = vbCyan
Next
MSFlexGrid1.TextMatrix(1,0) = "序号"
MSFlexGrid1.TextMatrix(1,1) = "日期"
MSFlexGrid1.TextMatrix(1,2) = "名称"
MSFlexGrid1.TextMatrix(1,3) = "重量(kg)"
MSFlexGrid1.TextMatrix(1,4) = "高度(mm)"
MSFlexGrid1.TextMatrix(1,5) = "流量"
MSFlexGrid1.TextMatrix(1,6) = "压力"
MSFlexGrid1.TextMatrix(1,7 )= "温度"
MSFlexGrid1.ColAlignment(0) = 4
MSFlexGrid1.ColAlignment(1) = 4
MSFlexGrid1.ColAlignment(2) = 4
MSFlexGrid1.ColAlignment(3) = 4
MSFlexGrid1.ColAlignment(4) = 4
MSFlexGrid1.ColAlignment(5) = 4
MSFlexGrid1.ColAlignment(6) = 4
MSFlexGrid1.ColAlignment(7) = 4
If (n > 0)Then
oRs.MoveFirst
i = 0
Do While Not oRs.EOF
n = n + 1
MSFlexGrid1.TextMatrix(i+2,0) = i
MSFlexGrid1.TextMatrix(i+2,1) = oRs.Fields(0).Value
MSFlexGrid1.TextMatrix(i+2,2) = oRs.Fields(1).Value
MSFlexGrid1.TextMatrix(i+2,3) = oRs.Fields(2).Value
MSFlexGrid1.TextMatrix(i+2,4) = oRs.Fields(3).Value
MSFlexGrid1.TextMatrix(i+2,5) = oRs.Fields(4).Value
MSFlexGrid1.TextMatrix(i+2,6) = oRs.Fields(5).Value
MSFlexGrid1.TextMatrix(i+2,7) = oRs.Fields(6).Value
i = i + 1
oRs.MoveNext
Loop
conn.Close
MSFlexGrid1.TopRow = MSFlexGrid1.Rows - 1
Else
MsgBox "您所查询的时段没有数据......"
oRs.Requery
conn.Close
End If
End Sub