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日 上午7:50
下一篇 2019年6月11日 上午7:50

相关推荐

  • WINCC 7.2 驱动连接

    WINCC 7.2 连接CPU 416-3 PN/DP项目在工程师站电脑连接正常,整体拷贝到操作员站,更改计算机名后激活项目 ,变…

    2017年6月10日
  • wincc 的horn声音报警的使用

    在horn中,我用一个报警类触发一个变量,用这个变量触发声音文件,但是报警类最多定义16个,我报警有50个,怎么做啊?我又不能直接用报警变量触发声音文件,因为这样如果报警存在,是复…

    SIMATIC WinCC 2019年6月11日
  • Windows API 函数说明

    请问谁有wincc的C脚本中所有Windows API函数的手册。     手册包括函数所在的.dll文件,函数的功能和…

    SIMATIC WinCC 2019年6月11日
  • WINCC如何读取力控画面里的数据

    WINCC如何读取力控画面里的数据。我看过力控用OPC读取WINCC画面的文档。但是反过来,我却不知道怎么弄了,我现在的项目正好是要求WINCC里显示力控画面里的一些变量状态。这种…

    SIMATIC WinCC 2019年6月11日
  • 如何将报警数据归档

    如何将报警数据归档 我知道有控件可以实现将报警的数据归档起来, 在电脑里模拟时可以实现该功能,并自动新健了EXCEL文件在E盘,但将程序下载到MP277就不可以…

    SIMATIC WinCC 2019年6月11日
  • WINCC报表用Excel

    如何把WINCC的归档变量用EXCEL做报表 最佳答案 相关资料: 《利用第三方软件Excel 实现WinCC 打印实时报表的方法》连接: …

    SIMATIC WinCC 2019年6月11日
  • WINCC7.5中使用用户账户时如何跳过登录界面,但要求管理员及工程师账户时使用登录账号和密码?

    WINCC7.5中使用用户账户时如何跳过登录界面,但要求管理员及工程师账户时使用登录账号和密码? 图片说明:    钻石用户推荐最佳答案 《如何在 W…

    2021年7月5日
  • wincc脚本中C和VBS

    wincc脚本中要做这样一个功能:判断当外部变量(例如有符号16位数A)的值等于一个值(例如等于10)的时候置位一个内部变量(例如HH=1),当A=11的时候置位另外一个内部变量Q…

    SIMATIC WinCC 2020年11月1日
  • 西门子KTP触摸屏

    图像库加载的元件没有办法旋转,然后我编辑图像用外部应用进行了旋转,回到组态我添加图像后就有了背景色,这背景色有没有办法变成透明的,谢谢 最佳答案 使用画图更改完后的图片是无法实现背…

    SIMATIC WinCC 2020年11月1日
  • WINCC与GEPLC的通讯

    一台PC机下WINCC是否可以同时与S7-300通讯(通过CP5611通讯)和GE 90-30PLC的通讯,GE 90-30PLC采用何种通讯方式?谢谢!数据读…

    SIMATIC WinCC 2019年6月11日