Foxtable(狐表)用户栏目专家坐堂 → 通过代码来计算


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

主题:通过代码来计算

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


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
通过代码来计算  发帖心情 Post By:2016/8/10 22:01:00 [只看该作者]

例:提成表中有一列为 “内部渠道”,数据类型为逻辑型Boolean
                    一列为“外部渠道”,数据类型为逻辑型Boolean
                    一列为“经理提成”,数据类型为双精度小数型

我想实现的是:如果“内部渠道”为“是”,经理提成为0
                    如果“外部渠道”为“是”,经理提成为100
                    如果“外部渠道”为“否”,经理提成为50
                    以上都不满足的话,经理提成为0

请老师给予指导,谢谢老师

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/10 22:10:00 [只看该作者]

If e.DataCol.Name = "外部渠道" AndAlso e.NewValue = true Then

    e.DataRow("经理提成") = 100

End If

If e.DataCol.Name = "外部渠道" AndAlso e.NewValue = False Then

    e.DataRow("经理提成") = 50

End If

If e.DataCol.Name = "内部渠道" AndAlso e.NewValue = true Then

    e.DataRow("经理提成") = 0

End If


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


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
  发帖心情 Post By:2016/8/10 22:34:00 [只看该作者]

不对啊老师

当我选择内部渠道为“是”,再选择外部为“是”的时候,经理提成是100,这不对的

要实现的是:如果“内部渠道”为“是”,经理提成为0
                          如果“外部渠道”为“是”,经理提成为100
                        如果“外部渠道”为“否”,经理提成为50
                      
                    以上三个条件都不满足的话,经理提成仍然为0,这一条很重要啊!!!
还有就是,如果“内部渠道”为“是”,不管“外部渠道”为“是”或“否”,经理提成都为0
               当“内部渠道”为否时,才按照“外部渠道”的计算

麻烦老师再帮我看看,谢谢啦

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/10 22:41:00 [只看该作者]

If e.DataCol.Name = "外部渠道" OrElse e.DataCol.Name = "内部渠道"  Then
    If e.DataRow("内部渠道") = True Then
        e.DataRow("经理提成") = 0
       
    Else
        If e.DataRow("外部渠道") = True Then
            e.DataRow("经理提成") = 100
        Else
            e.DataRow("经理提成") = 50
        End If
    End If
End If

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


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
  发帖心情 Post By:2016/8/11 7:41:00 [只看该作者]

嗯嗯,谢谢老师

还有一个小问题需要请教老师!

因为“内部渠道”列 和 “外部渠道”列 数据类型都是逻辑型,所以在表中默认显示为“否”

但是,当实际情况都为“否”,即“内部渠道” 和 “外部渠道” 都为“否”时,就不用去触发事件,就是不做任何操作,那么经理提成就没数据显示

问题:在“内部渠道” 和 “外部渠道” 列 都为“否”时,就是两列刚好符合其逻辑默认值,让“经理提成” 显示数据?
       
     

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/11 8:50:00 [只看该作者]

If e.DataRow.Isnull( "外部渠道") AndAlso e.DataRow.Isnull("内部渠道") Then e.DataRow("经理提成") = 0
If e.DataCol.Name = "外部渠道" OrElse e.DataCol.Name = "内部渠道"  Then
    If e.DataRow("内部渠道") = True Then
        e.DataRow("经理提成") = 0
        
    Else
        If e.DataRow("外部渠道") = True Then
            e.DataRow("经理提成") = 100
        Else
            e.DataRow("经理提成") = 50
        End If
    End If
End If

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


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
  发帖心情 Post By:2016/8/11 9:20:00 [只看该作者]

太棒了,老师,非常感谢

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


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
  发帖心情 Post By:2016/8/17 15:34:00 [只看该作者]

If e.DataRow.Isnull( "外部渠道") AndAlso e.DataRow.Isnull("内部渠道") Then e.DataRow("经理提成") = 0

老师,这段代码在这里是什么意思?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/17 15:35:00 [只看该作者]

如果 外部、内部 都是空值,就把 提成设置成0

 回到顶部