将数据库数据显示到WINCC中的微软的spreedsheet表格控件

我已经将画面上的变量数据导入指定的数据库,
 现在要将数据库的数据显示在WINCC中的微软的spreedsheet表格控件中,查询单个数据的单个时刻已经可以了,现在想,查询某个变量的名字,将其每个时刻的所有数据一起显示在表格控件中,下面是我的程序
 Sub OnClick(ByVal Item)                                           
 Dim objConnection

 Dim objCommand

 Dim objRecordset

 Dim strConnectionString

 Dim strSQL

 Dim lngValue

 Dim lngCount

 Dim xlapp

 Dim xlsheet

 Dim xlbook

 strConnectionString = "Provider=MSDASQL;DSN=test;DATABASE=linhe;UID=sa;PWD=linhe;" 

 strSQL = "select PF01AITATT0101 from lh where dt =’2009-06-26 8:53:00’" 

 Set objConnection = CreateObject("ADODB.Connection")

 objConnection.ConnectionString = strConnectionString

 objConnection.Open

 Set objRecordset = CreateObject("ADODB.Recordset")

 Set objCommand = CreateObject("ADODB.Command")

 objCommand.ActiveConnection = objConnection

 objCommand.CommandText = strSQL

 Set objRecordset = objCommand.Execute

 lngCount = objRecordset.Fields.Count

 If (lngCount>0) Then

 Dim xlspreadsheet

 Set xlspreadsheet=ScreenItems("control")

 xlspreadsheet.Range("a1:af65536").ClearContents

 xlspreadsheet.Range("a65536").End(xlUp).Offset(1).CopyFromRecordset objCommand.Execute
 ‘A列的最后一个有数据单元格向下偏移量为1行的单元格
 ‘运行到这个地方时,脚本就运行不下去了
 Else

 HMIRuntime.Trace "Selection returned no fields" & vbNewLine 

 End If

 Set objCommand = Nothing

 objConnection.Close

 Set objRecordset = Nothing

 Set objConnection = Nothing

 End Sub

 我想问问论坛里的高手,不运行的那句脚本有点什么语法问题。
 涉及到EXCEL的知识,我自己不熟悉,所以我想可能问题就出在这里。

最佳答案

根据我测试的结果EXCEL VBA/VISUAL BASIC对CopyFromRecordset 支持的还不错,但是在WinCC中却无法正常工作,提示:Class doesn’t support Automation

 代码中的一些错误:
 在objConnection.Open之前加一句objConnection.CursorLocation=3,否则可能取不到数据
 另外lngCount = objRecordset.Fields.Count应该改为lngCount = objRecordset.RecordCount
 还有你的xlUP没有声明

提问者对于答案的评价:
您果然都所有的东西都有一定了解!我是解决问题后才看到的答复,您说的一点没错,我现在已经不用copyform了,我用了其他的方式,非常感谢您的赐教!对后来者同样是一种帮助。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • Wincc项目打开后点击运行就死机

    Wincc项目打开后点击运行大约运行到60%多就死机 最佳答案 你只要搜索一下就能找到答案。关于WinCC项目激活过程中出现暂停无进展现象,可能原因:a.项目路径是否有中文名b.错…

    SIMATIC WinCC 2019年6月11日
  • 趋势中的index、numitems、itemvisible属性的具体用法

    我现在打算只做一张趋势,可以增加笔,减少笔,在上面可以做趋势分析,因此我想知道如何获得趋势的某个曲线,属性里的index不知道怎么用,例如趋势上有好多根曲线,A、B、C。。。&nb…

    SIMATIC WinCC 2019年6月11日
  • 关于用户管理器

    以前的密码忘记,现在删除原来用户,重新建新用户和密码,应该怎样做 最佳答案 复制原用户A,建立新用户B,删除原用户A,复制B,建立C。注意C的用户名要跟A一样,密码可以随便自己写,…

    SIMATIC WinCC 2019年6月11日
  • wincc变量存为Excel格式

    如何使用wincc将一过程值记录一段时间(如一个月),并保存到电脑某一盘里(如D盘),并且要以Excel的格式存储。之后可以使用Excel将其打开,分析使用这段时间的数据。Exce…

    SIMATIC WinCC 2019年6月11日
  • wincc动态改变按钮背景颜色

    wincc 7.0,按钮属性,效果中,wincc样式选择windows样式,按钮的背景颜色为什么不能根据变量的值改变?用户自定义和全局样式可以改变背景色。有什么办法可以动…

    SIMATIC WinCC 2019年6月10日
  • WINCC软件打不开,提示DEP将WINCC关闭

    WINCC打不开,本来好好的,重启电脑后就不行了! 最佳答案 开始菜单->运行->输入“RESET_WINCC.VBS”试试一般出现问题输入该指令基本上能解决,还不行,…

    SIMATIC WinCC 2017年5月31日
  • WINCC动画插件问题

    哪位朋友,有WINCC动画插件可以发给我一下吗?如果需要注册的话,麻烦注册码和注册方法也发给我看看吧,谢谢了。邮箱:1530365917@qq.com 最佳答案 https://y…

    SIMATIC WinCC 2021年7月5日
  • WinCC7.0亚洲版终极版本下载地址。

    麻烦大家传一份WinCC7.0亚洲版的最新版本的下载地址给我。谢谢。WinCC7.0是否也与STEP7一样出到5.5就不再出新版本了? 最佳答案 SIMATIC WinC…

    SIMATIC WinCC 2017年12月7日
  • smart 700 ie v3怎么切换语言

    请教各位老司机,smart 700 ie v3项目是出口的,能不能设置一个页面来切换显示的语言,调试的时候用中文,用户可以自己切换选择其他语言,软件是…

    SIMATIC WinCC 2021年7月5日
  • PCS7中手动添加的变量在选择变量时wincc变量里是空的

    PCS7,因为在wincc画面里做类似开关限位的显示,所以我手动在wincc的变量管理里的name  conection里添加这些限位或者故障的信号或者做棒图显…

    2017年6月5日