以文本方式查看主题 - 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 -- 折扣想变就可以变,不想变就可以不变。都在自己的掌控之中,先把基础学通吧。 |