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无法写入s7-200,通讯没问题

    wincc无法写入s7-200,OPC通讯没问题,浮点数读取都正常,wicc启动项目后点击“工具”下的“驱动程序连接状态”检测状态正常,譬如我做了一个按钮,点一下置1,再点一下置0…

    SIMATIC WinCC 2019年6月10日
  • 变量前为什么要加\\

    现在在看别人的趋势图的程序SetPropBOOL(picname,"控件1","Activate",FALSE);SetPropChar(p…

    SIMATIC WinCC 2019年6月11日
  • wincc 有没有两点之间连线的函数

    wincc C脚本中有没有一个两点之间或两个图片之间连线的函数? VBS呢有没有?详细说明:在画面中画了几个点,这几个点对应着变量,位置是变化的。我想把这几个点…

    SIMATIC WinCC 2019年6月11日
  • wincc启动越来越慢!

    wincc V7.4,随着时间的推移,越来越慢,激活完成需要10分钟了,怎么解决这个问题? 钻石用户推荐最佳答案 参考文档,为什么 (WinCC V7…

    SIMATIC WinCC 2021年7月5日
  • wincc6.2安装无反应

    安装完sql server 2005后,安装wincc6.2有一个黑框一闪,然后没有任何反应了,在进程中也没有SETUP这个进程(AMD X2&nbs…

    SIMATIC WinCC 2019年6月11日
  • WinCC如何与LG的PLC通讯?

    WinCC如何与LG的PLC通讯?具体该怎么做?希望各位大侠赐教。 最佳答案 可以通过OPC方式,例如用KepWare第三方软件,将LG中的相关点对应好。在WinCC中增加OPC通…

    SIMATIC WinCC 2019年6月11日
  • WINCC ADO 连接字符绑定数据库显示控件的问题

    用ADO  字符串连接,程序如下,就是不能和DATAGRID或MSFGRID连接,帮忙看看问题在哪里?当然用ADODC控件和DATAGRID两个控件来做是可以的…

    SIMATIC WinCC 2019年6月11日
  • 怎么使用SFB12/SFB13块

    要对s7-300 背景DB块里长度为500个字的数组进行数据处理,就需要把数据先传给WINCC,然后对WINCC里的数据再进行求均方差的处理,请问怎么使用SFB12/SF…

    SIMATIC WinCC 2019年6月11日
  • WinCC输入输出域边框凹陷设置

    WinCC输入输出域,矩形等对象的边框如何设置成凹陷样式,如图片中那样 图片说明:    钻石用户推荐最佳答案 将“输入/输出域”的边框颜色改为白色,然后画两条…

    2021年7月5日
  • 输入输出域自动换行

    个人做了段小程序,实现WINCC中输入输出域可以从EXCEL读取文本并输出,但是输出的时候老是不能自动换行,画的输入输出域有多大,他就只能输出多大,后边的字符就看不到了,怎样实现他…

    SIMATIC WinCC 2019年6月11日