以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自定义函数 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103060) |
||||
-- 作者:kaituozhe -- 发布时间:2017/6/29 21:28:00 -- 自定义函数 我做了一个自定义函数的例子,报错是什么原因?
|
||||
-- 作者:有点色 -- 发布时间:2017/6/29 22:20:00 --
|
||||
-- 作者:kaituozhe -- 发布时间:2017/6/30 14:32:00 -- 我编写一个计算列值求和的函数,怎么做?比如,如果“项目列”行值是资产合计,那么资产合计所在行的期初余额的值就等于 流动资产和非流动资产所行的期初余额合计,怎么写代码? |
||||
-- 作者:kaituozhe -- 发布时间:2017/6/30 14:40:00 -- Dim jisuanziduan As String = Args(0) 编制以上自定义函数的代码是为了实现3楼的功能,但是自定义函数不能使用e.参数,因此不知道该怎么写了。 |
||||
-- 作者:kaituozhe -- 发布时间:2017/6/30 14:42:00 -- Dim jisuanziduan As String = Args(0) 编制以上自定义函数的代码是为了实现3楼的功能,但是自定义函数不能使用e.参数,因此不知道该怎么写了。 |
||||
-- 作者:有点蓝 -- 发布时间:2017/6/30 16:10:00 -- Dim jisuanziduan As String = Args(0) Dim jisuanhangzhi As String = Args(1) Dim quzhiziduan As String = Args(2) Dim jisuanzhi As Double = Args(3) Dim quzhiziduanzhi As String = Args(4) If e.DataRow.name = jisuanziduan AndAlso e.DataRow(jisuanziduan) = jisuanhangzhi Then For i As Integer = 4 To Args.Length - 1 Dim dr As DataRow = e.DataTable.find(quzhiziduan & “ = \'" & Args(i) & "\'" ) If dr IsNot Nothing Then jisuanzhi = jisuanzhi +dr(quzhiziduan) End If Next End If Return jisuanzhi
|
||||
-- 作者:有点甜 -- 发布时间:2017/6/30 16:13:00 -- 回复5楼,你的e参数,可以在调用函数的时候,直接传递进去的啊。
然后再在函数里获取
Dim e = args(0) |
||||
-- 作者:kaituozhe -- 发布时间:2017/6/30 17:42:00 -- 6楼没有办法在自定义函数中使用呀?7楼说的意思我不明白做,请你把6楼的函数按7楼思路给编写一下吧。 |
||||
-- 作者:有点蓝 -- 发布时间:2017/6/30 18:04:00 -- 上传实例测试 |
||||
-- 作者:有点甜 -- 发布时间:2017/6/30 18:36:00 -- 以下是引用kaituozhe在2017/6/30 17:42:00的发言:
6楼没有办法在自定义函数中使用呀?7楼说的意思我不明白做,请你把6楼的函数按7楼思路给编写一下吧。
调用abc函数 Functions.Execute("abc", e)
-------------
定义abc函数 Dim e = args(0) |