Foxtable(狐表)用户栏目专家坐堂 → 通过某一条件计算,怎么设置啊


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

主题:通过某一条件计算,怎么设置啊

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


加好友 发短信
等级:婴狐 帖子:20 积分:187 威望:0 精华:0 注册:2014/4/6 15:41:00
通过某一条件计算,怎么设置啊  发帖心情 Post By:2014/5/14 15:01:00 [只看该作者]

假如有A\B\C三列,A=B+C,条件是如果c列有数值或者为0,则计算A=B+C,否则不进行计算。这个条件怎么编写啊


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/14 15:03:00 [只看该作者]

IIF([C] is null,0,[B]+[C])

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


加好友 发短信
等级:婴狐 帖子:20 积分:187 威望:0 精华:0 注册:2014/4/6 15:41:00
  发帖心情 Post By:2014/5/14 15:17:00 [只看该作者]

假如有A\B\C三列,A=B+C,条件是如果c列有数值,则计算A=B+C, 如果c列没有数值, 则计算 A=B 。这个条件怎么编写呢?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/14 15:20:00 [只看该作者]

表达式看2楼
 把 [B]+[C] 改为[B]
代码如下

datacolchanged 事件

select case e.datacol.name
     case "B","C"
     if e.datarow.isnull("C")=false then
          e.datarow("A")=e.datarow("B")
     end if
end select

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


加好友 发短信
等级:婴狐 帖子:20 积分:187 威望:0 精华:0 注册:2014/4/6 15:41:00
  发帖心情 Post By:2014/5/14 15:35:00 [只看该作者]

我想编的是
有“人工费\市场价\野外补助”三列,A=B+C,条件是如果野外补助列有数值,则计算人工费=市场价*(1+费率)+野外补助, 如果野外补助列没有数值, 则计算 人工费=市场价*(1+费率)  
按您给的方法改了一下,可是不成功。还请您再给看看


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/14 15:37:00 [只看该作者]

上例子,没道理不成功

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


加好友 发短信
等级:婴狐 帖子:20 积分:187 威望:0 精华:0 注册:2014/4/6 15:41:00
  发帖心情 Post By:2014/5/14 15:52:00 [只看该作者]

我把表达式改为    IIF([野外补助]is null,0,IsNull([市场价] ),0))

datacolchanged 事件中改为
Select Case e.DataCol.name
     Case "市场价","野外补助"
     If e.DataRow.Isnull("野外补助")=False Then
          e.DataRow("人工费单价")=e.DataRow("市场价")
     End If
End Select

现在是这样:在[野外补助]输入0,市场价输入120,人工费才计算得120,如果野外补助里什么也不输入,则人工费里就是0,输入20人工费里就变成120了。我的想法是如果野外补助里什么也不输入,则人工费里就是市场价120,野外补助里输入20,人工费里就是市场价+野外补助=140

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/14 16:03:00 [只看该作者]

 这么简单的问题,为什么要搞得这么复杂?

 

Select Case e.DataCol.name
    Case "市场价","野外补助"
        e.DataRow("人工费单价")=e.DataRow("市场价") + e.DataRow("野外补助")
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/14 16:06:00 [只看该作者]

 如果要设置表达式

 

isnull(市场价,0) + isnull(野外补助,0)


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


加好友 发短信
等级:婴狐 帖子:20 积分:187 威望:0 精华:0 注册:2014/4/6 15:41:00
  发帖心情 Post By:2014/5/14 16:10:00 [只看该作者]

呵呵,我实在是调不了了。对英文字母的意思都是模模糊糊的,您能用QQ远程帮我一下吗

 回到顶部
总数 17 1 2 下一页