以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表达式改数据列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91009)

--  作者:iresearchgame
--  发布时间: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事件代码,实现无逻辑关系的品牌,手动输入到数据列!

--  作者:有点蓝
--  发布时间: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
--  发布时间:2016/9/28 13:55:00
--  
老师!
是否是建一个子表,这个表放进去所有品牌的折扣相关的数据列和表达式列

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

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

以上是目前的需求

延伸问题:

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

--  作者:有点蓝
--  发布时间:2016/9/28 14:51:00
--  
折扣想变就可以变,不想变就可以不变。都在自己的掌控之中,先把基础学通吧。