以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这个Case When要怎么改?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123053)

--  作者:有点甜
--  发布时间:2018/8/7 11:58:00
--  

if mr("入舍母鸡")= 0 Then

    mr("只累产合格蛋") = nothing

Else

    mr("只累产合格蛋") = mr("合格蛋数") /  mr("入舍母鸡")

End If


--  作者:有点甜
--  发布时间:2018/8/7 14:27:00
--  

如果是sql语句

 

Case When 入舍母鸡=0 Then Null Else 合格蛋数 / 入舍母鸡 End

[此贴子已经被作者于2018/8/7 14:26:56编辑过]

--  作者:有点甜
--  发布时间:2018/8/7 15:49:00
--  
以下是引用liuruihua在2018/8/7 12:33:00的发言:
这个本来是一行代码解决的,SQL数据源不用能IIF
IIF(mr("入舍母鸡”)=0,Null,mr("入舍母鸡"))
想把IIF改用Case when代替,结果却出现错误,如何改用上面的方式使用很麻烦。

 

代码?iif谁说这样不能用?只是iif函数会把两个表达式都执行一次而已。

 

mr("只累产合格蛋") = iif(mr("入舍母鸡")=0, nothing, mr("合格蛋数") /  iif(mr("入舍母鸡")=0, 1, mr("入舍母鸡")))