wincc訪問(wèn)Acess數(shù)據(jù)庫(kù)
劉玉蓉
發(fā)布于2014-10-14 17:52
99
0
標(biāo)簽:
我用的時(shí)wincc6.2,怎樣去讀寫(xiě)另一臺(tái)電腦上的一個(gè)Acess數(shù)據(jù)庫(kù)中的內(nèi)容?
佳答案
WINCC的VBS可以很好的操作EXCEL,操作ACCESS也沒(méi)有問(wèn)題。
Wincc用VBS腳本讀寫(xiě)ACESS數(shù)據(jù)庫(kù)
首先要進(jìn)入系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)定。設(shè)定完后,將ACess數(shù)據(jù)庫(kù)的路徑存入Wincc中對(duì)應(yīng)的一個(gè)變量。然后在用到數(shù)據(jù)庫(kù)內(nèi)容的地方,用
Sub OnOpen()
""打開(kāi)時(shí)檢查一下系統(tǒng)路徑
If Trim(HMIRuntime.Tags("Db_Path").Read)="" Then
MsgBox "請(qǐng)檢查系統(tǒng)數(shù)據(jù)庫(kù)路徑,系統(tǒng)檢測(cè)到不正常!現(xiàn)在路徑是:" & HMIRuntime.Tags("Db_Path").Read
Else
""定義combol對(duì)象
Dim com
Set com=ScreenItems("combolbox_receipe")
com.Clear
com.AddItem "請(qǐng)選擇配方...",0
""首先打開(kāi)數(shù)據(jù)庫(kù)
Dim Conn,ResultSet
Set Conn = CreateObject("ADODB.Connection")
Set ResultSet = CreateObject("ADODB.Recordset")
Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & HMIRuntime.Tags("Db_Path").Read
ResultSet.open "Select * From recipe",Conn,1,1
""依次讀出數(shù)據(jù)庫(kù)中配方的數(shù)量
Do While Not ResultSet.EOF
com.AddItem ResultSet("name").value,ResultSet("Id").valuE
ResultSet.MoveNext
Loop
com.ListIndex =0
Set ResultSet=Null""結(jié)果集置空
Set Conn=Null ""連接置空
ResultSet.Close ""結(jié)果集關(guān)閉
Conn.close ""連接關(guān)閉
End If
End Sub
當(dāng)系統(tǒng) 切換到此頁(yè)面時(shí),將從數(shù)據(jù)庫(kù)中讀出表recipe中的值,到Combolbox中,并且將ListIndex=0的那一項(xiàng)列為默認(rèn)項(xiàng)