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


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

主题:表达式转计算代码

帅哥哟,离线,有人找我吗?
易服
  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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2008/11/19 12:26:00 [只看该作者]

if e.col.name = "计算代码列" '改为计算代码列的列名称
     if e.datarow("造林类别")= "退耕" or e.datarow("造林类别")= "退耕" and e.datarow("林种") = "生态林"
           e.datarow("计算代码列") =  e.datarow("设计面积")
     else
           e.datarow("计算代码列")  is nothing
     end if
end if

其实,您的第二个条件是多余的,因为第一个判断条件就决定了,这样的运行效是一样的:

if e.col.name = "计算代码列" '改为计算代码列的列名称
     if e.datarow("造林类别")= "退耕" 
           e.datarow("计算代码列") =  e.datarow("设计面积")
     else
           e.datarow("计算代码列")  is nothing
     end if
end if

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/11/19 12:31:00 [只看该作者]

楼主的两个表达式好象不在一个计算列中吧?

如果不是,可以试试计算代码:

if e.datarow("造林类别") = "退耕" Then
   e.datarow(e.datacol.name) = e.datarow("设计面积")
else
   e.datarow(e.datacol.name) = nothing
end if


if e.datarow("造林类别") = "退耕" and e.datarow("林种") = "生态林" Then
   e.datarow(e.datacol.name) = e.datarow("设计面积")
else
   e.datarow(e.datacol.name) = nothing
end if


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


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

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

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


加好友 发短信
等级:幼狐 帖子:191 积分:1442 威望:0 精华:2 注册:2008/9/7 21:30:00
  发帖心情 Post By:2008/11/19 12:36:00 [只看该作者]

if e.datarow("造林类别") = "退耕" and e.datarow("林种") = "生态林" Then
   e.datarow("合格面积") = e.datarow("设计面积")
else
   e.datarow("合格面积") = nothing
end if

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/11/19 12:38:00 [只看该作者]

以下是引用易服在2008-11-19 12:33:00的发言:
独立的表达式:IIF([造林类别] = '退耕'and[林种] = '生态林',[设计面积],null)
                    “合格面积”列等于“设计面积”列


三楼是两个独立的计算代码。


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


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


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


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

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

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


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

以下是引用易服在2008-11-19 12:43:00的发言:
是的,怎么不会立即生效呢?


呵呵,看一下帮助中关于计算代码的说明。


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/11/19 12:47:00 [只看该作者]

计算代码是需要重算的,代码设置完成后点一下计算代码右侧的计算按钮即可。

 回到顶部
总数 22 1 2 3 下一页