发布于 2007-09-19 09:02:41
0楼
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
Set oList = ScreenItems("Para_Listview")
oList.View =3
oList.ListItems.Clear
''[RED]WinCCOLEDBProvider[/RED]
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=CC_extrudin_07_09_12_14_02_42R;"
sSer = "Data Source=.\WinCC"
sCon = sPro + sDsn + sSer
'sSql = "TAG:R,'ProcessvalueArchive\NewTag','0000-00-00 00:00:00.000','0000-00-01 00:00:00.000'"
sSql = "SELECT * FROM UA#JobData"
MsgBox "Open with:" & vbCr & sCon & vbCr & sSql & vbCr
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
'm = oRs.RecordCount
m=oRs.Fields.count
With oList
.ListItems.Clear ''''''''''''''''''''''''''''''''''''''''''''''
.ColumnHeaders.Clear
.ColumnHeaders.Add , , CStr(oRs.Fields(2).Name), 780
.ColumnHeaders.Add , , CStr(oRs.Fields(0).Name), 900
.ColumnHeaders.Add , , CStr(oRs.Fields(1).Name), 1050
.ColumnHeaders.Add , , CStr(oRs.Fields(3).Name), 1200
End With
If (m > 0) Then
oRs.MoveFirst
n = 0
Do While Not oRs.EOF
n = n + 1
If (n<10000) Then
s = Left(CStr(oRs.Fields(1).value), 23)
完全按照深入浅出WINCC上的例程上的做的!
不知道有什么问题!