以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自定义函数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=134794)

--  作者:wh420
--  发布时间:2019/5/6 16:45:00
--  自定义函数
我想在任意窗口调用自定义函数bakMoneyTotal和bakZhiChu 的统计结果显示在当前窗口的LABEL控件中,请问这种带参数的自定义函数怎么写?

bakMoneyTotal = DataTables("Table_BakMoney").SqlCompute("Sum(cunkuanMoney)")
bakZhiChu = DataTables("Table_zhichu").SqlCompute("Sum(zhichuMoney)",Filter)

--  作者:有点甜
--  发布时间:2019/5/6 16:53:00
--  
不理解你的意思,直接使用全局变量 bakMoneyTotal 的值不就可以了?
 
--  作者:wh420
--  发布时间:2019/5/6 16:59:00
--  
全局代码不是程序启动就要统计了,我只想在用的时候再调用,函数是不是更方便些?
假设我有三个窗口(FORM1,FORM2,FORM3)每个窗口都有label控件,但名称不固定。我把通过自定义函数把统计出来的结果显示到相应窗口的LABEL控件中。

--  作者:wh420
--  发布时间:2019/5/6 17:23:00
--  
自定义函数(TEST)我尝试这样写: 
Dim bakZhiChu As Double = Args(0)
 Dim Filter As String
 Filter = "zhichuAcc = \'备用金\'"
 bakZhiChu = DataTables("Table_zhichu").SqlCompute("Sum(zhichuMoney)",Filter)
 Return bakZhiChu

在任意窗口中调用我想实现这样

Dim lbl As WinForm.Label = e.Form.Controls("Label1")
Functions.Execute("TEST",lbl.text))

但程序报错,请问老师帮忙改一下。

--  作者:有点甜
--  发布时间:2019/5/6 17:28:00
--  

 

方法一:你做一个函数,在里面查找和赋值,赋值给你各个窗口对应控件。

 

方法二:做一个函数,每次执行返回一个值。你在需要的地方,执行函数,并给label赋值。

 

 

 

 


--  作者:xxcwdlwgo
--  发布时间:2019/5/10 22:20:00
--  
以下是引用wh420在2019/5/6 17:23:00的发言:
自定义函数(TEST)我尝试这样写: 
Dim bakZhiChu As Double = Args(0)
 Dim Filter As String
 Filter = "zhichuAcc = \'备用金\'"
 bakZhiChu = DataTables("Table_zhichu").SqlCompute("Sum(zhichuMoney)",Filter)
 Return bakZhiChu

在任意窗口中调用我想实现这样

Dim lbl As WinForm.Label = e.Form.Controls("Label1")
Functions.Execute("TEST",lbl.text))

但程序报错,请问老师帮忙改一下。

1.类型不对。2.你函数传过来的参数,没用上


--  作者:有点蓝
--  发布时间:2019/5/10 22:29:00
--  
自定义函数(TEST)

Dim Filter As String = "zhichuAcc = \'备用金\'"
Return DataTables("Table_zhichu").SqlCompute("Sum(zhichuMoney)",Filter)

调用
Dim lbl As WinForm.Label = e.Form.Controls("Label1")
lbl.text = Functions.Execute("TEST")