"查询"、"直径1"、"厚度1"、"直径2"、"序号"是wincc的内部变量
NO、直径、厚度为数据库里的列名,前三列
脚本是错的,哪位大侠能改下
目的是以直径1和厚度1为条件从数据库里查询满足条件的记录
并把该记录的NO和直径写到变量序号和直径2中去
Option Explicit
Function action
Dim cnn
Dim rs
Dim connect_string
Dim statestring
Dim a,b,c,d
Dim y(70)
Set a=HMIRuntime.Tags("查询")
a.Read
Set b=HMIRuntime.Tags("直径1")
b.Read
Set c=HMIRuntime.Tags("厚度1")
c.Read
If (a.value) Then
Set cnn =CreateObject("ADODB.Connection")
Set rs =CreateObject("ADODB.Recordset")
'连接SQL数据库
cnn.connectionstring = "DSN=SQLconn;APP=Visual Basic;WSID=ALEX;Network=DBMSSOCN;Address=ALEX\WINCC;Trusted_Connection=Yes"
cnn.Open
rs.ActiveConnection = cnn
rs.LockType = 3
rs.CursorType = 2
rs.Open "Select * From zhazhibiao"
rs.Find("直径=" & b.value And "厚度=" & c.value)
If rs.eof=True Then
MsgBox "该规格不存在!",,"提示"
Else
Set y(1)=HMIRuntime.Tags("序号")
y(1).read
Set y(2)=HMIRuntime.Tags("直径2")
y(2).read
y(1).write rs.field("NO").value,1
y(2).write rs.field("直径").value,1
End If
rs.Close
cnn.Close
End If
a.Write 0,1
End Function