Foxtable(狐表)用户栏目专家坐堂 → 表达式转计算代码


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

主题:表达式转计算代码

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
表达式转计算代码  发帖心情 Post By:2008/11/19 11:56:00 [显示全部帖子]

由内部数据导出作一外部数据系统,原表达式的列的表达式需要转换成计算代码
IIF([造林类别] = '退耕',[设计面积],null)
IIF([造林类别] = '退耕'and[林种] = '生态林',[设计面积],null)
“合格面积”列等于“设计面积”列

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2008/11/19 12:33:00 [显示全部帖子]

独立的表达式:IIF([造林类别] = '退耕'and[林种] = '生态林',[设计面积],null)
                    “合格面积”列等于“设计面积”列

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2008/11/19 12:42:00 [显示全部帖子]


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2008/11/19 12:43:00 [显示全部帖子]

是的,怎么不会立即生效呢?

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2008/11/19 16:56:00 [显示全部帖子]

表达式:
IIF([造林类别] = '退耕'and [林种] = '生态林',IsNull([设计面积],0) * 20*8,IIF([造林类别] = '退耕'and [林种] = '经济林',IsNull([设计面积],0) * 20*5,Null))
计算代码:
if e.datarow("造林类别") = "退耕"and e.datarow("林种") = "生态林" Then
   e.datarow(e.datacol.name) = e.datarow("设计面积")*20*8
   if e.datarow("造林类别") = "退耕"and e.datarow("林种") = "经济林" Then
   e.datarow(e.datacol.name) = e.datarow("设计面积")*20*5
   end if
else
   e.datarow(e.datacol.name) = nothing
end if
以上代码红色部分不生效,怎么改?

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2008/11/19 22:31:00 [显示全部帖子]

可能没有表述清楚
IIF([造林类别] = '退耕'and [林种] = '生态林',IsNull([设计面积],0) * 20*8,IIF([造林类别] = '退耕'and [林种] = '经济林',IsNull([设计面积],0) * 20*5,Null))

表达式一致的计算代码???


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2008/11/19 22:44:00 [显示全部帖子]

代码可执行就是不太好理解,14楼是正确的,16楼不行

[此贴子已经被作者于2008-11-19 22:53:00编辑过]

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2008/11/20 10:52:00 [显示全部帖子]

当造林类别是荒山时不应该有补助(为空)。20为每年的补助标准,生态林补8年、经济林补5年,荒山没有补助。
要的就是14楼的公式:当“造林类别”列不等于“退耕”的时候是否不会有结果,而16楼的都有结果。


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2008/11/20 14:58:00 [显示全部帖子]

谢谢你的指导,造林类别要么是退耕要么是荒山不能为空。
外部数据表既然能增加表达式列就不用计算代码了,我的内部数据表的系统已经完成了,表达式是现成的拿来就用,再说这种用于统计的过渡列有20多列用计算代码太麻烦且效率低下,所以决定从头来过,学习过程反复几次有好处。

 回到顶部