在Wincc全局脚本程序中定义一个函数Function1(strSQL),执行查询操作并返回数据集Recordset

小弟我在Wincc全局脚本程序中定义了一个函数Function1(strSQL),通过传递过来的SQL语句执行查询操作并返回数据集Recordset,现在要在别的按钮动作里调用这个函数,并将函数运行结果Recordset返回,以便对返回结果进行处理.
    我的代码如下
    Function ReadrecordDB(strSQL) 

Dim objConnection

Dim objCommand

Dim objRecordset

Dim strConnectionString

strConnectionString = ".........................(此处省略了)"

Set objConnection = CreateObject("ADODB.Connection")

objConnection.ConnectionString = strConnectionString

objConnection.Open

Set objRecordset = CreateObject("ADODB.Recordset")

Set objCommand = CreateObject("ADODB.Command")

objCommand.ActiveConnection = objConnection

objCommand.CommandText = strSQL

Set objRecordset = objCommand.Execute

Set objCommand = Nothing

objConnection.Close

Set objRecordset = Nothing

Set objConnection = Nothing

ReadrecordDB = objRecordset.clone()

End Function

其他程序调用
 ......
 Set Count = CreateObject("ADODB.Recordset")
 Count = ReadrecordDB(strSQL)
 Value1 = Count.Fields(0).value
 Value2 = Count.Fields(1).value
 ......
 ......

但是运行调试的时候提示在Function中的
ReadrecordDB = objRecordset.clone()
处有语法错误,错误信息是:
Wrong number of arguments or invalid property assignment
哪位大哥大姐给点指点吧,小弟在此谢过了!

最佳答案

把你的Connection和Recordset参数拿出来,即把函数改成:
 Function ReadrecordDB(Connection,Recordset,strSQL) 
然后三个参数都从按钮动作里传递进去,对象也在按钮动作里释放,试试。

提问者对于答案的评价:
在别的地方找到答案了,但不是写成Function,而是写成Sub
Sub ReadrecordDB(Connection,Recordset,strSQL)
Function 返回Recordset,也实现了,但在函数里Connection好像不能释放。 

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

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

相关推荐

  • 有没有wincc运行画面后修改文字的办法??

    在现在的一个项目中,厂家需要主控人员在画面上能对矿槽的名称随时做出修改,是否有办法实现,请高手指教!! 问题补充:用输入输出域,激活后只能输入数字啊!要能输入汉字才行,最好是能够用…

    SIMATIC WinCC 2019年6月11日
  • 西门子wincc的授权不同版本通用么

    西门子wincc的授权不同版本通用么,7.3版本授权狗能不能升级为7.4版的软件 最佳答案 可以。WinCC授权支持升级扩展。例如外部变量/归档变量点数不够用,或者是低版本WinC…

    SIMATIC WinCC 2020年11月1日
  • 请问用MPI/USB电缆连接触摸屏的IF1B接口和组态计算机时,怎么就不能传送项目呢

    请问用MPI/USB电缆连接触摸屏的IF1B接口和组态计算机时,怎么就不能传送项目呢 最佳答案 是什么屏?不同的屏支持的下载方式不同,选择的电缆也不同.有的用串口电缆,有的可以用P…

    SIMATIC WinCC 2019年6月11日
  • WINCC7与AB的PLC通讯

    1,现场有两套AB的PLC,IP地址一样,以前没有联成网络,现在需要把他们连成网络,做报表系统。2,WINCC7可以使用AB的MAC地址进行通讯吗? 问题补充:用户不请允许改AP的…

    SIMATIC WinCC 2019年6月10日
  • 我的WinCC授权怎么不起作用

    我的WinCC授权怎么不起作用,大家给看一下,我把相关的图片传到我的博客里了!http://hi.baidu.com/wlq0422/blog/item/0d79e97750865…

    SIMATIC WinCC 2019年6月11日
  • WinCC画面中怎么嵌入IE浏览器?

    我要集成视频监控系统,视频监控有一个WEB端,可以在IE浏览器中查看,请问怎么在WinCC画面中怎么嵌入IE浏览器? 最佳答案 使用WinCCWebBrowser控件。 提问者对于…

    SIMATIC WinCC 2019年6月11日
  • WinCC7.5的变量为什么会被清零?

    WinCC的西门子PLC变量,通过WinCC写值一段时间后该项目的所有输入域会被清零,检查了画面没有脚本或者配置改变输入域的值,并且该现象只有在WinCC端出现,仅PLC的时候不会…

    SIMATIC WinCC 2020年11月1日
  • 关于打印的C脚本

    请问大家一个问题:我想在图形编辑器页面中打印其中的一个矩形框的部分 在该页面中有打印阅览按钮和打印按钮  我怎样才能打印出矩形部分呢 &nb…

    SIMATIC WinCC 2019年6月11日
  • 组态一个面板,怎么将变量关联进去?

    根据官方教学视频,可以将组态面板的属性绑定在一个I/O域中(图中,根据输入值的大小改变颜色),那怎么才能 将组态面板中的属性与变量直接联系起来呢(这些颜色变化和一个plc…

    2021年7月5日
  • 量表控件Wincc gauge control

    我想问一下量表控件是怎样连接变量?我用量表控件的属性直接连接变量但是在我把变量的初值改为20运行量表控件,量表控件上的指针却没动。 专家建议 右击控件选择属性,打开属性对话框,选择…

    SIMATIC WinCC 2020年11月1日