Foxtable(狐表)用户栏目专家坐堂 → 表达式改数据列


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

主题:表达式改数据列

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


加好友 发短信
等级:婴狐 帖子:71 积分:755 威望:0 精华:0 注册:2015/8/20 11:45:00
表达式改数据列  发帖心情 Post By:2016/9/27 15:39:00 [只看该作者]

IIF([品牌] = '世达(SATA)', [面价]  * 0.7, IIF([品牌] = '奥斯特(AOSITE)', [面价]  * 0.45  * 0.9, IIF([品牌] = '安信(ACTUAL)', [面价]  * 0.7,IIF([品牌] = '稳耐(WENNER)', [面价]  * 0.6, IIF([品牌] = '奥飞(AUFEI)', [面价]  * 0.6, IIF([品牌] = '海诚', [面价]  * 0.55, IIF([品牌] = '福禄克(Fluke)',  0, 0)))))))

以前我的表达式是这么写的,唯一不足的是福禄克的成本无法用表达式体现,因为他的成本和面价没有逻辑关系

我如何把这句表达式的代码修改成为 DataColChanged事件代码,实现无逻辑关系的品牌,手动输入到数据列!

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/27 16:01:00 [只看该作者]

Select Case e.DataCol.Name
    Case "品牌","面价"
        Select Case e.DataRow("品牌")
            Case "世达(SATA)"
                e.DataRow("成本") = e.DataRow("面价") * 0.7
            Case "奥斯特(AOSITE)"
                e.DataRow("成本") = e.DataRow("面价") * 0.45  * 0.9
            Case ....
                ......
        End Select
End Select

比较好的一种模式,应该创建一个品牌折扣表,通过折扣表计算成本,这行当折扣变化后就不需要改代码了

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


加好友 发短信
等级:婴狐 帖子:71 积分:755 威望:0 精华:0 注册:2015/8/20 11:45:00
  发帖心情 Post By:2016/9/28 13:55:00 [只看该作者]

老师!
是否是建一个子表,这个表放进去所有品牌的折扣相关的数据列和表达式列

然后建设其他表的时候需要用到,直接和这个表进行关联即可

未来修改折扣 只需要修改这个折扣表即可??

以上是目前的需求

延伸问题:

如果折扣变化了,是不是其他表的数据之前的折扣也跟着变化啊?这明显不符合业务逻辑啊!
如何实现?折扣变化,以前的数据不变化!

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/28 14:51:00 [只看该作者]

折扣想变就可以变,不想变就可以不变。都在自己的掌控之中,先把基础学通吧。

 回到顶部