Foxtable(狐表)用户栏目专家坐堂 → [求助]多列判断取值的代码


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

主题:[求助]多列判断取值的代码

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


加好友 发短信
等级:幼狐 帖子:51 积分:577 威望:0 精华:0 注册:2018/4/4 8:37:00
[求助]多列判断取值的代码  发帖心情 Post By:2018/4/4 10:05:00 [只看该作者]

因为表达式列无法触发datacolchanged事件,
所以想把表达式转化为代码,以便后续列可以运行
问题如下:
abcdefj共7列
其中
A,C,E为判断列
B,D,F为取值列
J为结果列

如果 E 列包含 某个字
则 J列=F列对应位置(同一行,下同)的值
否则则返回到 C列 判断是否为空,
不为空 则 J列=D列 对应位置的值
否则则返回到 A列 ,判断对应位置是否为空
 不为空则J列=B列
求大神帮助


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


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

DataColChanged事件

 

Select Case e.DataCol.name
    Case "e", "f", "d", "a", "b"
        Dim dr = e.DataRow
        If dr("e").contains("abc") Then
            dr("j") = dr("f")
        ElseIf dr("c") <> Nothing Then
            dr("j") = dr("d")
        ElseIf dr("a") <> Nothing Then
            dr("j") = dr("b")
        Else
            dr("j") = Nothing            
        End If
End select

[此贴子已经被作者于2018/4/4 10:40:38编辑过]

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


加好友 发短信
等级:幼狐 帖子:51 积分:577 威望:0 精华:0 注册:2018/4/4 8:37:00
  发帖心情 Post By:2018/4/4 15:14:00 [只看该作者]

为何不包含case C 和 j?

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


加好友 发短信
等级:幼狐 帖子:51 积分:577 威望:0 精华:0 注册:2018/4/4 8:37:00
  发帖心情 Post By:2018/4/4 15:20:00 [只看该作者]

为何case 不包含C(同为取值列)?
且后续列引用J列(结果列),怎样才能保持实时更新
即ABCDEF任何一列如果有变动,J列也会实时变动?

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


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

以下是引用倪远歌1在2018/4/4 15:20:00的发言:
为何case 不包含C(同为取值列)?
且后续列引用J列(结果列),怎样才能保持实时更新
即ABCDEF任何一列如果有变动,J列也会实时变动?

 

你可以加上C列或者J列,根据你实际情况添加。


 回到顶部