相关代码如下供参考,具体使用时根据个性化的需求调试脚本
Sub OnClick(ByVal Item)
'''''''''''''''''''''''''''''''''''''''''''''''''''''定义变量
Dim sPro
Dim sDsn
Dim sSer
Dim sCon
Dim sSql
Dim oRs
Dim conn
Dim oCom
Dim oItem
Dim m,n,s
Dim hourdate
Dim secdate
Dim k
Dim oList
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''连接并读取数据库
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=CC_myprj_07_04_01_09_11_32R;"
sSer = "Data Source=.\WinCC"
sCon = sPro + sDsn + sSer
sSql = "TAG:R,'banciArchive\banci','2007-4-1 00:00:00','2007-4-5 00:00:00'"
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
oCom.CommandText = sSql
Set oRs = oCom.Execute
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''显示到listview中
Set oList = ScreenItems("listview1")
oList.View =3
oList.ListItems.Clear
m = oRs.Fields.Count
oList.ColumnHeaders.Clear
For n = 0 To m - 1
oList.ColumnHeaders.Add , , CStr(oRs.Fields(n).Name), 100
Next
If (m > 0) Then
oRs.MoveFirst
n = 0
Do While Not oRs.EOF And n < 80
Set oItem = oList.ListItems.Add()
oItem.Text = FormatNumber(oRs.Fields(0).value,0)
s = CDate(oRs.Fields(1).value)
k = DateAdd("h", 8, s)
oItem.SubItems(1) = k
oItem.SubItems(2) = FormatNumber(oRs.Fields(2).value,0)
oItem.SubItems(3) = FormatNumber(oRs.Fields(3).value,0)
'oItem.SubItems(2) = Hex(oRs.Fields(3).value)
oItem.SubItems(4) = FormatNumber(oRs.Fields(4).value,0)
n = n + 1
oRs.MoveNext
Loop
MsgBox n
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''关闭记录集,数据库连接
oRs.Close
Set oRs = Nothing
conn.Close
Set conn = Nothing
End Sub