Foxtable(狐表)用户栏目专家坐堂 → 求助表事件该如何写?


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

主题:求助表事件该如何写?

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


加好友 发短信
等级:幼狐 帖子:135 积分:1097 威望:0 精华:0 注册:2013/4/17 13:49:00
求助表事件该如何写?  发帖心情 Post By:2014/2/3 23:24:00 [只看该作者]

 

请教在excel中可以设置公式,但在狐表中如何写表事件的代码?实现逻辑是:

先选定工序,第一个依据是工序,第二个依据是型号,不同工序的工价都会根据型号列的值而发生变化,才能判断工价的值是多少。

只根据型号用iff判断值范围我知道可以把iff公式嵌套直接写在表达式列,但需要实现先判断工序的值,然后再判断型号的值就不会了。

具体详见excel表,单元格有公式,感谢各位老师的帮助。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工资计算.xlsx


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


加好友 发短信
等级:一尾狐 帖子:431 积分:3214 威望:0 精华:2 注册:2011/9/10 21:35:00
  发帖心情 Post By:2014/2/4 1:28:00 [只看该作者]

写在datachanged事件里

if e.dcol.name = 工序 or e.dcol.name = 型号 then  ‘如果这两个列随便哪个发生变化,都将重新计算工价,以下为重算代码

  

 

     dim gx = e.drow("工序")  ’获得新的工序值

     dim xh = e.drow("型号")  '获得新的型号值

     dim gj = e.drow("工价")   '将要计算并生成的新的工价

    

     select case gx  ’先区分工序是什么

     case 打磨         '针对打磨工序的计算

      if xh > 值1 then

      gj = 答案1

      elseif xh > 值2 and xh < 值3 then

      gj = 答案2

      elseif xh....... then

      gj =

      else

      gj =

      end if

 

     case 冲压  '这里同上略

      if xh > 值1 then

      gj =

      elseif xh > 值2 and xh < 值3 then

      gj =

      elseif xh....... then

      gj =

      else

      gj =

      end if


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


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/2/4 10:04:00 [只看该作者]

表达式就可以解决问题
1、工价、金额为表达式列
2、工价的公式为:IIF([型号] >= 350,0.2,IIF([型号] >= 320,0.17,IIF([型号] >= 280,0.15,0.13)))
3、金额公式为:IsNull([数量],0) + IsNull([工价],0)

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


加好友 发短信
等级:幼狐 帖子:135 积分:1097 威望:0 精华:0 注册:2013/4/17 13:49:00
  发帖心情 Post By:2014/2/4 16:00:00 [只看该作者]

感谢2楼的yan2006l老师,搞定!

也感谢3楼的y2287958老师,表达式列只能搞定按型号判断,无法先考虑工序,再考虑型号。


 回到顶部