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

相关推荐

  • web navigator 访问出现错误

    按照深入浅出WINCC V6的步骤设置、发布,然后也提示成功,在消息队列里也发现NAVIGATOR正在运行,用户名和密码也设置好了,可在IE地址栏输入地址后提示输入用户名…

    SIMATIC WinCC 2019年6月11日
  • wincc查询SQL数据库中的表格内容脚本。

    知道表格名称时这样查询sql="SELECT * FROM baojing "如果表格名称是个变量是时怎么查询。求大神赐…

    SIMATIC WinCC 2021年7月5日
  • 谁有中文版的错误解释0x80046127_d.pdf

    http://cache.automation.siemens.com/dnl/zc/zc2NDM5NwAA_6836122_FAQ/V6_0x80046127_d.pdf 最佳答…

    SIMATIC WinCC 2019年6月11日
  • wincc 7.2 升级到 wincc 7.3

    升级的时候可以不卸载7.2直接安装7.3吗? 最佳答案 不行的,同一系统上只能安装一个版本,所以在安装V7.3时系统会自动引导先卸载V7.2后再安装V7.3。 提问者对于答案的评价…

    SIMATIC WinCC 2021年7月5日
  • SQL安装问题

    WIN XP SP3操作系统,安装WINCC 6.2请问SQL应该安装什么版本的,在哪里能下载到?谢谢! 最佳答案 安装SLQ版本只和WINCC的版本…

    SIMATIC WinCC 2019年6月11日
  • wincc与step7怎么做SOE

    上位机用wincc,PLC用s7-414-5H要采集高压柜上保护仪表的SOE事件。具体应该怎么来实现 问题补充:是高压保护仪表通过PLC的DI开关量输入模块直接采集做SOE,上位软…

    SIMATIC WinCC 2021年7月5日
  • wincc7.0 sp3 移植到7.4,组态数据库的移植失败

    wincc7.4,用项目移植器移植wincc7.0 sp3 项目,出现: “组态数据库的移植失败” 提示! 最佳答案 最好先到V7.2&nb…

    SIMATIC WinCC 2021年7月5日
  • wincc 连接Access数据库操作

    最近想用wincc连接Access数据库来操作,在全局脚本中编写VBS动作,语法检测提示无效字符,脚本是没问题的,不知道是哪里出现了问题,本人刚接触Wincc不久,使用的是Winc…

    2021年7月5日
  • pcs7激活

    起始画面为@SCREEN.PDL,激活后最上面出现“未激活”字样,画面灰色,昨天都可以 一般是啥原因? 最佳答案 在电脑属性里设置Graphics Runtim…

    SIMATIC WinCC 2019年6月11日
  • 请问触摸屏PDZ文件和PACK&GO是什么?

    请问各位前辈触摸屏PDZ文件和PACK&GO是什么?是不是所有的触摸屏都是只有勾了回传和安装SD卡才能回传源组态吗?谢谢了! 最佳答案 那些操作面板支持上载,链接:http://w…

    SIMATIC WinCC 2017年6月29日