以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:根据前两列数据,第三列自动相除取值。谢谢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20332)

--  作者:平淡的流年
--  发布时间:2012/6/5 11:16:00
--  请教:根据前两列数据,第三列自动相除取值。谢谢

三个列,输入第一列和第二列数据后,想让第三列自动取前两列相除的值。

谢谢大家了。菜鸟刚接触。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20120605111327.jpg
图片点击可在新窗口打开查看


--  作者:wjl-se
--  发布时间:2012/6/5 11:32:00
--  

这么简单的问题,狐爸肯定会让你看帮助的。

第三列应为表达式列:[身高] / [体重]


--  作者:程兴刚
--  发布时间:2012/6/5 11:45:00
--  
以下是引用wjl-se在2012-6-5 11:32:00的发言:

这么简单的问题,狐爸肯定会让你看帮助的。

第三列应为表达式列:[身高] / [体重]

 

这么简单的问题,您还给回复错了:

 

    iif([体重] = 0,0,[身高]/[体重])


--  作者:平淡的流年
--  发布时间:2012/6/5 12:06:00
--  

解决了,谢谢两位。

If e.DataCol.Name = "体格检查_一般情况_体重" Then
    If e.DataRow.IsNull("体格检查_一般情况_体重") Then
        e.DataRow("体格检查_一般情况_体重指数") = Nothing
    Else
       
        e.DataRow("体格检查_一般情况_体重指数") = e.DataRow("体格检查_一般情况_身高")/e.DataRow("体格检查_一般情况_体重")
    End If
End If


--  作者:程兴刚
--  发布时间:2012/6/5 12:12:00
--  

If e.DataCol.Name = "体格检查_一般情况_体重"  or e.DataCol.Name = "体格检查_一般情况_身高" Then
    If e.DataRow.IsNull("体格检查_一般情况_体重") Then
        e.DataRow("体格检查_一般情况_体重指数") = Nothing 
    Else
        e.DataRow("体格检查_一般情况_体重指数") = e.DataRow("体格检查_一般情况_身高")/e.DataRow("体格检查_一般情况_体重")
    End If
End If


--  作者:wjl-se
--  发布时间:2012/6/5 12:19:00
--  
看来最菜是的我,人家都用代码图片点击可在新窗口打开查看
--  作者:程兴刚
--  发布时间:2012/6/5 12:29:00
--  
不着急,他还得回来!
--  作者:平淡的流年
--  发布时间:2012/6/5 12:54:00
--  

嗯。谢谢,这样更完善了。


--  作者:程兴刚
--  发布时间:2012/6/5 20:45:00
--  

可能要这样才算完善:

 

If e.DataCol.Name = "体格检查_一般情况_体重" or e.DataCol.Name = "体格检查_一般情况_身高" Then
    If e.DataRow.IsNull("体格检查_一般情况_体重") or  e.DataRow("体格检查_一般情况_体重") = 0 Then
        e.DataRow("体格检查_一般情况_体重指数") = Nothing
    Else
        e.DataRow("体格检查_一般情况_体重指数") = e.DataRow("体格检查_一般情况_身高")/e.DataRow("体格检查_一般情况_体重")
    End If
End If

 

如果体重列被人为地手工修改,输入了0值,这时候isnull 的判断结果应该是false,这时候就会报错!