ADO方式去访问用户归档数据库

Dim sPro 

 Dim sDsn 

 Dim sSer 

 Dim sCon 

 Dim sSql 

 Dim oRs 

 Dim conn 

 Dim oCom 

 Dim oItem 

 Dim m, n, s

 Dim hourdate 

 Dim secdate 

 Dim k

 Dim oList

 Set oList = ScreenItems("Para_Listview")

 oList.View =3

 oList.ListItems.Clear

 ”[RED]WinCCOLEDBProvider[/RED]

 sPro = "Provider=WinCCOLEDBProvider.1;"

 sDsn = "Catalog=CC_extrudin_07_09_12_14_02_42R;"

 sSer = "Data Source=.\WinCC"

 sCon = sPro + sDsn + sSer

 ‘sSql = "TAG:R,’ProcessvalueArchive\NewTag’,’0000-00-00 00:00:00.000′,’0000-00-01 00:00:00.000’"

 sSql = "SELECT * FROM UA#JobData"

 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
 这段代码中,sqL查询有问题,请问怎么修改

问题补充:
在问一下在C脚本里面可以实现打印的函数PDRPrintJob()在VBS脚本里面那怎么实现

最佳答案

想必这不是你自己写的吧?

  这段代码要想执行成功,有几个条件:
  1、画面有ListView控件,名字叫Para_Listview
  2、项目当前运行数据库名称为CC_extrudin_07_09_12_14_02_42R。其实可以通过HMIRuntime.Tags("@DataSourceNameRT").Read动态获得
  3、项目创建有用户归档,名称为JobData

  既然不是连接变量归档,就不要使用WinCCOLEDBProvider.1驱动,改为如下:
  Dim DSN
  DSN = HMIRuntime.Tags("@DatasourceNameRT").Read
  strConn="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
  Info=False;Data Source=.\WINCC;Initial Catalog=’" & DSN & "’;"
  

 补充问题:VBS没有办法调用C的打印函数,但是可以采用异步的方法,也就是VBS置位一个内部变量,C全局脚本判断该内部变量是否为1,如为1则调用PDRPrintJob(),同时将内部变量复位。

提问者对于答案的评价:
呵呵,今天下午我自己已经解决了,和你说的方法一样

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

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

相关推荐

  • wincc flexible smart软件的系统函数怎么切换成中文?

    如图,我装的wincc flexible smart软件的系统函数全都是英文,我想问下有没有什么办法切换成中文的?如果没有办法切换的话,哪里能找到翻译好的资料可…

    2020年11月1日
  • 如何组态模拟量报警?

    有个压力值要求低于1公斤或者高于5公斤报警,在WINCC里如何组态? 最佳答案 1.在动态值范围窗口,表达式/公式里面输入:“压力变量”<0.1数据类型:直接就可以做为下限报…

    SIMATIC WinCC 2018年12月6日
  • wincc中报警问题

    wincc中做一个实时报警和历史报警,在历史报警中通过选择每个设备名称例如选择1号电机查询以前的报警记录该怎么做 问题补充:当某一实时故障报警出现时,报警框内用红色字体显示报警的内…

    SIMATIC WinCC 2019年6月11日
  • WINCC做阀门的模板

    系统有很多个开关型阀门,要求在主画面上点击某个阀门,会弹出这个阀门对应的小画面来,希望在这个小画面里实现开阀,关阀操作,并指示阀门的状态;1.有一个笨办法可以实现:预先做出很多个小…

    SIMATIC WinCC 2019年6月11日
  • MP277的屏可以替换OP7的屏吗,该怎么操作

    MP277的屏可以替换OP7的屏吗,该怎么操作,需要修改哪些东西? 最佳答案 不行。西门子推荐了相应的精智屏SIMATIC MP 277 窄边面板停产…

    SIMATIC WinCC 2021年7月5日
  • WINCC客户机窗口关闭不了,求帮助

    有一台服务器  SERVER 2008系统两台客户机  W7系统用C/S架构(无项目方式)现在出现一个问题,发现客户机小窗口关闭不…

    SIMATIC WinCC 2021年7月5日
  • 可以查看某个C动作的运行时间吗?

    WinCC 脚本诊断之如何让WinCC脚本运行更加顺畅 课程编号:V2537 您在使用WinCC时遇到过运行慢,堵塞等…. 点击这里,打开新窗口观看完整视频 该视频下的…

    2021年7月5日
  • 求教WINCC画面的组成

    各位高手,我看到有一个完整的画面,是几部分组成的,如图示中1是完整图,是由2、3、4图示连接起来的,2号图在画面的上部,3号在中间,4号在底部位置,我没有搞懂是如何将它们连接到一个…

    2021年7月5日
  • WINCC单个画面操作很慢

    PCS7 8.0有个SERVER有一张画面上的数据读取的慢,操作也慢,调曲线要20多S,操作变频器也需20多S,其他画面运行正常 问题补充:问题描述有误,是一个项目里有有…

    SIMATIC WinCC 2021年7月5日
  • wincc能不能正常用

    原来的硬盘坏了,镜像了一个硬盘装上去,能不能正常用,授权有两项没有检测到,怎么解决 钻石用户推荐最佳答案 WinCC授权问题合集http://www.ad.siemens.com.…

    SIMATIC WinCC 2020年11月1日