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 菜单工具栏

    想用wincc自带菜单与工具栏实现画面间的切换,如何编写VBS角本,如:“主画面”里有“画面窗口1",想用菜单实现”画面窗口1"的画面名称的切换,假设另两个画面…

    SIMATIC WinCC 2019年6月11日
  • 画面转换

    我想把tp900转为tp1200,有什么办法只要改变屏的型号而不需要任何重新编辑画面的方法吗?请高手指教!谢谢! 问题补充:可是画面无法自适应呀,还是原来的大小 最佳答案 第一步,…

    2021年7月5日
  • 在WINCC中怎样实现物品的直线移动

    要移动的图片比较多,用脚本是不是很占资源 问题补充:动画触发器用C动作能实现吗 最佳答案 建议使用动画触发器:请点击以下链接:http://www.ad.siemens.com.c…

    SIMATIC WinCC 2017年10月24日
  • PLCsim和winCC模拟通讯

    用PLCsim和winCC模拟通讯 通道诊断显示已连接 但wincc能控制step7程序动作,但WINCC里收不到step7给出的信号 请高手帮忙解答…

    2019年6月10日
  • WINCC趋势控件添加备注

    WINCC趋势控件能否增加备注(比如某时刻某变量的数值突然变大,由于某种故障造成,然后我将该时刻的趋势备注一下是什么原因造成数值变大。下次看历史趋势的时候用鼠标指着该地方就可以看到…

    SIMATIC WinCC 2017年11月13日
  • wincc里的历史趋势最多可显示(保留)多长时间?

    因为上级单位要求,数据要保存半年以上。 已经在变量组里设置了最大值,可是也只是保存了两个月。 请问还能设置的更大么?怎样进行设置? 谢谢! 最佳答案 …

    SIMATIC WinCC 2019年6月11日
  • OLE-DB Tag and Alarm Export.xls下载

    请问OLE-DB Tag and Alarm Export.xls哪里有,请发到我邮箱,谢谢啊!我在网上找了半天没找到。 问题补充:我想把w…

    SIMATIC WinCC 2021年7月5日
  • wincc7.4操作记录

    wincc7.4怎么做操作记录和报警记录,都用报警控件怎么把他们分开用单独的报警控件?另外用户登录和注销怎么做记录? 最佳答案 1.对于操作记录,有操作员输入和audit记录,前者…

    SIMATIC WinCC 2021年7月5日
  • Wincc趋势标尺显示不正常

    运行系统后,趋势倒是有,可点开标尺后,本应显示各记录点的标尺栏却是一片空白,系统为XPSP3,装的WINCC为6.2的,项目为6.0的 最佳答案 WINCC6.0的数据库是SQL2…

    SIMATIC WinCC 2019年6月11日
  • 我想在wincc画面中做一个退出系统的按钮,但是怕别人误操作所以想在按钮中添加退出时需要密码的提示

    同上,密码正确时退出系统,错误则没任何操作 问题补充:如果是加权限请问是加那种权限 最佳答案 如果加权限的话,在用户管理器中插入一个新授权(表格-插入授权):退出系统,添加一个用户…

    SIMATIC WinCC 2019年6月11日