wincc生成excel报表时,oRs.MoveFirst这句停止运行

我在oRs.MoveFirst这句的前后加了:
xlsApp.Cells(10, 2).Value = 6
MsgBox "Open with1:" & m
If (m > 0) Then
MsgBox "Open with2:" & m

oRs.MoveFirst
MsgBox "Open with3:" & m
       运行时出了Open with2:5。但是没出后一个Open with3:;所以我判断是到oRs.MoveFirst停止运行的。并且xls表上,也只在10B写了个6,其他地方都空着。

       下面是源代码:
       Sub OnClick(ByVal Item)                        
Dim xlsApp
Dim sDsn
Dim sSer
Dim sCon
Dim sSql
Dim conn
Dim oRs
Dim oCom
Dim sPro
Dim m, n, s
Dim a, b, c

sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=CC_ceepc_cs_14_01_15_06_41_10R;"
sSer = "Data Source=CEEPC-33\WINCC"
sCon = sPro + sDsn + sSer

sSql = "Tag:R,('ProcessValueArchive\氨气流量';'ProcessValueArchive\频率反馈2'),'2014-04-3 18:24:00.000','2014-04-3 20:28: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
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
xlsApp.Workbooks.Open "C:\Users\Auser\Desktop\ss.xls"


xlsApp.Cells(10, 2).Value = 6

MsgBox "Open with1:" & m

If (m > 0) Then

MsgBox "Open with2:" & m

oRs.MoveFirst

MsgBox "Open with3:" & m
n = 1
MsgBox "Open with4:" & m
xlsApp.Cells(1, 1).Value = oRs.Fields(0).Name
xlsApp.Cells(1, 2).Value = oRs.Fields(1).Name
xlsApp.Cells(1, 3).Value = oRs.Fields(2).Name
xlsApp.Cells(1, 4).Value = oRs.Fields(3).Name
xlsApp.Cells(1, 5).Value = oRs.Fields(4).Name
Do While Not oRs.EOF
n = n + 1
xlsApp.Cells(n, 1).Value = oRs.Fields(0).Value
xlsApp.Cells(n, 2).Value = oRs.Fields(1).Value
xlsApp.Cells(n, 3).Value = FormatNumber(oRs.Fields(2).Value, 2)
xlsApp.Cells(n, 4).Value = Hex(oRs.Fields(3).Value)
xlsApp.Cells(n, 5).Value = Hex(oRs.Fields(4).Value)
oRs.MoveNext
Loop
xlsApp.ActiveWorkBook.Save
xlsApp.Workbooks.Close
xlsApp.Quit
Set xlsApp = Nothing
End If
oRs.Close
Set oRs = Nothing
conn.Close
Set conn = Nothing

End Sub


我对以上代码还有2个问题,帮忙解答一下:
1、我安装了wincc7.0就可以使用Provider=WinCCOLEDBProvider.1;不需要再安装WinCC OLE DB吧。
2、ProcessValueArchive是我变量记录中的归档名称,用户归档没有加变量。

最佳答案

请参考
 http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0048
A0048“WinCC V6 使用技巧”演示项目及使用说明(2006.08.18)    
DemoV6画面PA7_bld04.pdl,PA7_bld05.pdl中vbs访问变量归档的方法

提问者对于答案的评价:
谢谢,后来有数据了。就是只能查看8小时前的

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc215102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月19日 下午1:55
下一篇 2017年11月19日 下午1:55

相关推荐

  • WINCC7.3这个还需不需要授权了

    我只是用来学习要求也不高研究了半天 还没授权明白,明明版本是V7.3只能授权V7.2的RC图片的意思还需要重新授权吗 问题补充:现在就这样用 影不影响WINCC…

    2021年7月5日
  • WINCC下载问题

    我用WINCC作的组态下载到触摸屏时,先做OS更新,然后在下载画面,OS更新完之后,为什么有的能下载,有的不能,现在有四快触摸屏,只有一块是用WINCC作的,而且下载画面时很难,不…

    SIMATIC WinCC 2019年6月11日
  • wincc6.0报表打印方面的问题

    我现在用的是wincc6.0,在打印报表的时候打印不出来,是什么原因?请大家帮忙。谢谢 最佳答案 在报表编辑器中创建布局,然后创建打印作业,在其常规选项中选择需要打印的布局即可,通…

    SIMATIC WinCC 2019年6月11日
  • XP上安装WINCC V7.0 SP1 需要先安装别的东西吗 需要安装别的西门子软件才能正常使用WINCC吗?请老师解答下

    在XP上安装WINCC V7.0 SP1 需要先安装别的东西吗?(之前装了一次失败了) 另外,需要安装别的西门子软件才能使用WINCC吗?&…

    SIMATIC WinCC 2019年6月11日
  • 报警记录设置

    报警记录消息类别中错误和系统,需要确认。有什么区别,右键中属性详细说明。 问题补充:能设置消息列表同一个报警多次出现,全部显示吗? 最佳答案 能设置消息列表同一个报警多次出现,全部…

    SIMATIC WinCC 2018年12月5日
  • wincc C语言动作无效

    一个编译无误的项目程序,c语言等动作都正常。昨天安装了300的PLCSIM仿真,然后卸载了wincc6.0的智能工具又安装回去,再编译WINCC项目就不行了,仿真时鼠标点击,C语言…

    SIMATIC WinCC 2019年6月11日
  • 反向传送

    smart 700 IE V3触屏 程序需要备份 首次接触请指点反向传送步骤 最佳答案 Smart V3屏回传及备份恢复…

    SIMATIC WinCC 2020年11月1日
  • PLC226CN与WINCC通讯不上

    PLC是226CN  通讯的是PC/PPI协议,电缆线是进口的900多元,系统是专业版的XP  wincc7.0  &n…

    2021年7月5日
  • VBS动作问题

    见图片,大家帮我看看,这是不是一段把数据存在"C:\Documents and Settings\Administrator\Desktop\Grap…

    2017年11月29日
  • wincc通信

    现有2台PC机,都安装了WINCCV6.0 DA server/client 现在1台做OPC server,另1台作为OPC c…

    SIMATIC WinCC 2019年6月11日