Foxtable(狐表)用户栏目专家坐堂 → 自定义函数


  共有2181人关注过本帖树形打印复制链接

主题:自定义函数

帅哥哟,离线,有人找我吗?
wh420
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
自定义函数  发帖心情 Post By:2019/5/6 16:45:00 [只看该作者]

我想在任意窗口调用自定义函数bakMoneyTotal和bakZhiChu 的统计结果显示在当前窗口的LABEL控件中,请问这种带参数的自定义函数怎么写?

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/6 16:53:00 [只看该作者]

不理解你的意思,直接使用全局变量 bakMoneyTotal 的值不就可以了?
 

 回到顶部
帅哥哟,离线,有人找我吗?
wh420
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2019/5/6 16:59:00 [只看该作者]

全局代码不是程序启动就要统计了,我只想在用的时候再调用,函数是不是更方便些?
假设我有三个窗口(FORM1,FORM2,FORM3)每个窗口都有label控件,但名称不固定。我把通过自定义函数把统计出来的结果显示到相应窗口的LABEL控件中。

 回到顶部
帅哥哟,离线,有人找我吗?
wh420
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By: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))

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/6 17:28:00 [只看该作者]

 

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

 

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

 

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
xxcwdlwgo
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:157 积分:2001 威望:0 精华:0 注册:2012/5/29 15:35:00
  发帖心情 Post By: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.你函数传过来的参数,没用上


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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")

 回到顶部