以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]DataRow 和 DataCol 条件判断问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49783)

--  作者:E_Fox
--  发布时间:2014/4/23 23:39:00
--  [讨论]DataRow 和 DataCol 条件判断问题
在回答贴子 免检 时,发现

e.DataRow("合格检查") = iif( e.DataCol.Name = "商品打分" And e.DataRow("商品打分") = 150,"免检",Nothing)

不起作用

必须写成

if  e.DataCol.Name = "商品打分"  then     \'datacol  列判断
if e.DataRow("商品打分") = 150 then   \'datarow  行判断
e.DataRow("合格检查") ="免检"
else
e.DataRow("合格检查") = Nothing
endif
endif

这是否说明行列进行条件判断时,必须分开写??
[此贴子已经被作者于2014-4-23 23:39:54编辑过]

--  作者:hws005
--  发布时间:2014/4/24 0:37:00
--  
If  e.DataCol.Name = "商品打分"  Then     \'判断如果"商品打分"列变动
    If e.DataRow("商品打分") = 150 Then   \'再判断"商品打分"列当前行值为:150时
        e.DataRow("合格检查") ="免检"     \'"合格检查"当前行值为="免检"
    Else 
        e.DataRow("合格检查") = Nothing    否则"合格检查"值为空
    End If
End If

--  作者:有点甜
--  发布时间:2014/4/24 10:55:00
--  

 一般这样写就没错。

 

 必须先对列名进行一下判断,再做具体的逻辑。这样才不会出错。