以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表达式转计算代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1172) |
-- 作者:易服 -- 发布时间:2008/11/19 11:56:00 -- 表达式转计算代码 由内部数据导出作一外部数据系统,原表达式的列的表达式需要转换成计算代码 IIF([造林类别] = \'退耕\',[设计面积],null) IIF([造林类别] = \'退耕\'and[林种] = \'生态林\',[设计面积],null) “合格面积”列等于“设计面积”列 |
-- 作者:程兴刚 -- 发布时间: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 -- 发布时间:2008/11/19 12:31:00 -- 楼主的两个表达式好象不在一个计算列中吧? 如果不是,可以试试计算代码: if e.datarow("造林类别") = "退耕" Then
|
-- 作者:易服 -- 发布时间:2008/11/19 12:33:00 -- 独立的表达式:IIF([造林类别] = \'退耕\'and[林种] = \'生态林\',[设计面积],null) “合格面积”列等于“设计面积”列 |
-- 作者:shxiaoya -- 发布时间:2008/11/19 12:36:00 -- if e.datarow("造林类别") = "退耕" and e.datarow("林种") = "生态林" Then e.datarow("合格面积") = e.datarow("设计面积") else e.datarow("合格面积") = nothing end if |
-- 作者:czy -- 发布时间:2008/11/19 12:38:00 -- 以下是引用易服在2008-11-19 12:33:00的发言:
独立的表达式:IIF([造林类别] = \'退耕\'and[林种] = \'生态林\',[设计面积],null) “合格面积”列等于“设计面积”列
|
-- 作者:易服 -- 发布时间:2008/11/19 12:42:00 -- 是 |
-- 作者:易服 -- 发布时间:2008/11/19 12:43:00 -- 是的,怎么不会立即生效呢? |
-- 作者:狐狸爸爸 -- 发布时间:2008/11/19 12:47:00 -- 以下是引用易服在2008-11-19 12:43:00的发言:
是的,怎么不会立即生效呢?
|
-- 作者:czy -- 发布时间:2008/11/19 12:47:00 -- 计算代码是需要重算的,代码设置完成后点一下计算代码右侧的计算按钮即可。 |