设为首页收藏本站积分获取及使用技巧附件上传须知[求助-wincc]wincc生成excel报表时,oRs.MoveFirst这句停止运行

追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 4058|回复: 1

[求助-wincc]wincc生成excel报表时,oRs.MoveFirst这句停止运行

[复制链接]

升级  33.5%

该用户从未签到

发表于 2014-4-8 11:52:53 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
我在oRs.MoveFirst这句的前后加了:
xlsApp.Cells(10, 2).Value = 6
MsgBox "Open with1:" & m
If (m > 0) Then
MsgBox "Open with2:" & m</P>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-33WINCC"
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:UsersAuserDesktopss.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是我变量记录中的归档名称,用户归档没有加变量。
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
4059°C
1
  • terkcov
过: 他们

升级  35%

该用户从未签到

发表于 2014-4-8 12:42:42 | 显示全部楼层
请参考
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访问变量归档的方法
                                                                                                                                                                                                                                                              
                                                        
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-9 00:06 , Processed in 0.097424 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表