看了好多网上的脚本,有用VB访问的也有用VBS的,有的说调试以后能读出表头,可是我怎么什么都读不出来,表头都不显示就说明应该没连上数据库吧一下是全部代码,希望各位百忙之中抽空给看一下,小妹先谢谢了
Sub OnOpen(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 oList
Set oList = ScreenItems("ListView1")
oList.View =3
oList.ListItems.Clear
sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "CC_0402_13_07_15_20_25_08R;"
sSer = "Data Source=.\WinCC"
sCon = sPro + sDsn + sSer
sSql = "TAG:R,'SpeedAndAngel\Xjiaodu','2013-08-10 01:00:00.000','2013-08-31 01:00:00.000'"
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.Fields.Count
MsgBox "Open with:" & vbCr & m & vbCr
oList.ColumnHeaders.Clear
oList.ColumnHeaders.Add , , CStr(oRs.Fields(0).Name), 150
oList.ColumnHeaders.Add , , CStr(oRs.Fields(1).Name), 150
oList.ColumnHeaders.Add , , CStr(oRs.Fields(2).Name), 150
If (m > 0) Then
oRs.MoveFirst
n = 0
MsgBox "Open with:" & vbCr & m & vbCr
Do While Not ors.eof
n=n+1
s=Left(CStr(ors.Fields(1).Value),23)
Set oitem= oList.ListItems.Add()
oitem.Text=Left(CStr(ors.Fields(1).Value),23)
oitem.SubItems(1)=FormatNumber(ors.Fields(2).Value,4)
oitem.SubItems(2)=FormatNumber(ors.Fields(0).Value,4)
ors.MoveNext
Loop
ors.Close
Else
End If
Set ors=Nothing
conn.close
Set conn=Nothing
End Sub
我是在全局脚本的项目模块中编辑的,开头第一句不知道是这样声明吗?还有在画面中编辑ListView的属性时,哪一个属性应该和该脚本连接呢?谢谢走过和路过的