小弟我在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