Foxtable(狐表)用户栏目专家坐堂 → 有条件计算


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

主题:有条件计算

美女呀,离线,留言给我吧!
jiwawa0420
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:116 威望:0 精华:0 注册:2012/5/12 20:57:00
有条件计算  发帖心情 Post By:2012/5/15 11:36:00 [只看该作者]

有三列:A=付款类型(文本型)    B=合同金额     C=付款金额(是设置表达式还是一般列?)

想达到以下效果:若A=‘税款’ C=B*6.3*0.17


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/15 11:38:00 [只看该作者]

设置成表达式就行:

 

iif(A='税款',B * 6.3* 0.17, Null)


 回到顶部
美女呀,离线,留言给我吧!
jiwawa0420
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:116 威望:0 精华:0 注册:2012/5/12 20:57:00
  发帖心情 Post By:2012/5/15 20:33:00 [只看该作者]

还是有问题呀!A不是税款的情况,就可能是其他数据,我做这个的目的就只是想当A时税款的时候,付款金额可以自动算出来,其他情况全部手动填写。你给我的公式出来的结果是:A是税款,计算出来了没错,但是A不是税款的时候,付款金额那一列就只能是空,没法手动填写。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/15 22:14:00 [只看该作者]

那就不能用表达式,改为数据列,在DataColChanged事件设置代码:

 

Select Case e.DataCol.Name

    Case “A”

         if e.DataRow("A") = "税款' Then

              e.DataRow("B") = e.DataRow("A") * 6.3 * 0.17

        end if

End Select

 


 回到顶部
美女呀,离线,留言给我吧!
jiwawa0420
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:7 积分:116 威望:0 精华:0 注册:2012/5/12 20:57:00
  发帖心情 Post By:2012/5/18 11:13:00 [只看该作者]

狐狸爸爸,不行呢,按照你给我的代码,B没反应,根本没有自动算出数据。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/18 11:32:00 [只看该作者]

对于原有的数据,设置完代码后,要重置一下A列,B列才会出现计算结果。

之后增加或修改A,B都会自动计算.

 

 


 回到顶部