以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 通过代码来计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88881) |
|
-- 作者:约翰舒 -- 发布时间:2016/8/10 22:01:00 -- 通过代码来计算 例:提成表中有一列为 “内部渠道”,数据类型为逻辑型Boolean 一列为“外部渠道”,数据类型为逻辑型Boolean 一列为“经理提成”,数据类型为双精度小数型 我想实现的是:如果“内部渠道”为“是”,经理提成为0 如果“外部渠道”为“是”,经理提成为100 如果“外部渠道”为“否”,经理提成为50 以上都不满足的话,经理提成为0 请老师给予指导,谢谢老师
|
|
-- 作者:大红袍 -- 发布时间: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 |
|
-- 作者:约翰舒 -- 发布时间:2016/8/10 22:34:00 -- 不对啊老师 当我选择内部渠道为“是”,再选择外部为“是”的时候,经理提成是100,这不对的 要实现的是:如果“内部渠道”为“是”,经理提成为0 如果“外部渠道”为“是”,经理提成为100 如果“外部渠道”为“否”,经理提成为50 以上三个条件都不满足的话,经理提成仍然为0,这一条很重要啊!!! 还有就是,如果“内部渠道”为“是”,不管“外部渠道”为“是”或“否”,经理提成都为0 当“内部渠道”为否时,才按照“外部渠道”的计算 麻烦老师再帮我看看,谢谢啦
|
|
-- 作者:大红袍 -- 发布时间: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 |
|
-- 作者:约翰舒 -- 发布时间:2016/8/11 7:41:00 -- 嗯嗯,谢谢老师 还有一个小问题需要请教老师! 因为“内部渠道”列 和 “外部渠道”列 数据类型都是逻辑型,所以在表中默认显示为“否” 但是,当实际情况都为“否”,即“内部渠道” 和 “外部渠道” 都为“否”时,就不用去触发事件,就是不做任何操作,那么经理提成就没数据显示 问题:在“内部渠道” 和 “外部渠道” 列 都为“否”时,就是两列刚好符合其逻辑默认值,让“经理提成” 显示数据? |
|
-- 作者:Hyphen -- 发布时间: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
|
|
-- 作者:约翰舒 -- 发布时间:2016/8/11 9:20:00 -- 太棒了,老师,非常感谢
|
|
-- 作者:约翰舒 -- 发布时间:2016/8/17 15:34:00 --
|
|
-- 作者:大红袍 -- 发布时间:2016/8/17 15:35:00 -- 如果 外部、内部 都是空值,就把 提成设置成0 |