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 7.3授权方法与步骤

    wincc正版授权U盘的方法与步骤,有购买的授权U盘,但不知哪里出了点问题,在Automation License Manager使用老是不行,不知哪里出了问题…

    SIMATIC WinCC 2021年7月5日
  • 用户权限切换

    我在做一个项目,平时登录需要操作员用户和密码,有个别的设置需要用工程师用户和密码,但我在退出工程师用户和密码的时候同时也把操作员的用户和密码退出了,请问有没有办法在退出工程师的用户…

    SIMATIC WinCC 2019年6月11日
  • WINCC中不自动生成PCS7相应的PID块图标

    为什么在PCS7的CFC中拖入了PID控制块,而且属性中的OCM也勾选了,但是在WINCC的画面中就是没有自动生成相应的块图标?控制面板又是怎么生成呢? 最佳答案 画面(pdl文件…

    SIMATIC WinCC 2017年7月26日
  • 按钮提示

    点击按钮时,要先提示然后再执行,如我要打开一个电机,第一次点击时,会提示问确实要开启吗,然后再点确定,请问一下如何调用开启电机的变量,该如何操作,最好是使用脚本,谢谢大家! 最佳答…

    SIMATIC WinCC 2019年6月11日
  • WINCC7.4用户管理问题

    我在WINCC7.4SP1 用户管理器当中新建一个用户,提示SIMTIC处于登录激活状态,无法新建立用户,但是我的WINCC都取消激活了。求大神指教,谢谢! 钻石用户推荐…

    SIMATIC WinCC 2020年11月1日
  • WINCC或STEP7 时限加密

    我希望程序能正常运行一年,一年后无法使用,需要购买新的授权。    不知道这两种软件中是否有此种加密方式。 问题补充:我自己没接触过这样的程…

    SIMATIC WinCC 2017年8月15日
  • wincc画面对象不在激活层

    我使用wincc6.2绘制上位机画面时需要做的对象和图形很多,所以就使用了图层,但是在使用过程中发现了一个问题,就是我激活了图层1,把0图层隐藏了,我要在1图层上做画面,但是所有个…

    SIMATIC WinCC 2019年6月11日
  • wincc 7.3报警器horn 怎么连接多个报警声音(100多条)

    项目里有100多个报警信号,客户需要每条报警连接一段对应的报警声音。试了两种方案1.设置多个“消息等级”,每个消息等级对应一个报警信号,每个消息等级在报警器的“消息分配”中对应一个…

    SIMATIC WinCC 2021年7月5日
  • WINCC的弹窗只能打开一次,在点就不能弹出?

    我是在直接链接上的 图片说明:    最佳答案 因为画面窗口被关闭后,需要再把“显示”属性设置为“是”才能显示可以使用按钮释放左键事件,添加直接连接 图片说明:…

    2020年11月1日
  • 怎么复位多个内部二进制变量

    希望各位大侠给予帮助 问题补充:在WINCC中 最佳答案 复位一个字节/字中的多个位可使用现成的功能:动态向导>>标准动态向导>>置位/复位多位 …

    SIMATIC WinCC 2019年6月11日