Foxtable(狐表)用户栏目专家坐堂 → [求助]自定义函数中怎么引用列名条件-已解决


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

主题:[求助]自定义函数中怎么引用列名条件-已解决

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[求助]自定义函数中怎么引用列名条件-已解决  发帖心情 Post By:2017/11/15 18:10:00 [只看该作者]

有一个允许修改当前行的条件:当前用户是“申请人”且(“复核日期”是空白或要修改的列名是“附件”)

在列表情况下,PrepareEdit事件中,有e参数,可以这样引用列名:
If _username = e.Row("申请人") AndAlso (e.Row.isnull("复核日期") OrElse e.Col.name="附件") Then

但在窗口情况下,修改后,通过执行自定义函数保存修改时,上述代码需要修改,请问下列代码该怎么完善:
 If _username = r("申请人") AndAlso (r.isnull("复核日期")  OrElse r.???=“附件” ) Then

谢谢!
[此贴子已经被作者于2017/11/16 11:30:16编辑过]

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


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

 

你应该在enter事件处理了吧?而不是在保存的时候

 

http://www.foxtable.com/webhelp/scr/2342.htm

 

如果你要在保存的时候处理,你需要检查对比哪些列的数据被修改过了,可以通过判断之前的值和之后的值,如 http://www.foxtable.com/webhelp/scr/2369.htm

 


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2017/11/16 11:30:00 [只看该作者]

谢谢甜版。第二种方法是不行的,因为有e参数,就不用这么复杂了。
[此贴子已经被作者于2017/11/16 11:31:27编辑过]

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


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

以下是引用shenyl0211在2017/11/16 11:30:00的发言:
谢谢甜版。第二种方法是不行的,因为有e参数,就不用这么复杂了。
[此贴子已经被作者于2017/11/16 11:31:27编辑过]

 

那你怎么做的?你在什么时候出发保存修改函数的?怎么来的e参数。


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2017/11/16 14:12:00 [只看该作者]

甜版:
怪我没有表达清楚。我的意思是:你的第二种方法采用了e.col.name,但如果用于解决我现在的问题会有些复杂,也容易失控。而采用自定义函数是行不通的,所以,在不能采用e.col.name的情况下,必须按照你说的第一种方法去思考。

 回到顶部