以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  下列语句不能完全执行,请赐教  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=40649)

--  作者:renee
--  发布时间:2013/9/25 17:14:00
--  下列语句不能完全执行,请赐教
对“借阅状态”这一列做判断,
Select Case e.DataCol.Name    
     Case "借阅日期", "归还日期" 
        If e.DataRow.IsNull("借阅日期")  Then \'借阅日期是否为空
           e.DataRow("借阅状态") = "在馆" \'如果为空,则借阅状态显示在馆
        Else
            If e.DataRow.IsNull("归还日期") Then \'归还日期是否为空
               e.DataRow("借阅状态") = "借出" \'如果为空,则借阅状态显示借出
            Else
               e.DataRow("借阅状态") = "在馆" \'如果不为空,则借阅状态显示在馆
            End If
        End If    
End Select

--  作者:Bin
--  发布时间:2013/9/25 17:16:00
--  
你的问题是什么? 何为不能完全执行?
--  作者:renee
--  发布时间:2013/9/25 17:20:00
--  
 If e.DataRow.IsNull("归还日期") Then \'归还日期是否为空
               e.DataRow("借阅状态") = "借出" \'如果为空,则借阅状态显示借出
            Else
               e.DataRow("借阅状态") = "在馆" \'如果不为空,则借阅状态显示在馆
            End If
这段不能执行

--  作者:Bin
--  发布时间:2013/9/25 17:22:00
--  
这段不执行,说明你前面的那个IF判断成立了,自然不会进入下面了啊 If e.DataRow.IsNull("借阅日期")  Then \'借阅日期是否为空  
--  作者:renee
--  发布时间:2013/9/25 17:24:00
--  

原来是用的IF ELSE,就是ELSE 后的语句不执行,我也没找出原因,郁闷

If e.DataCol.Name = "借阅日期" Then \'如果更改的是借阅日期列

    If e.DataRow.IsNull("借阅日期") Then \'借阅日期是否为空

        e.DataRow("借阅状态") = "在馆" \'如果为空,则借阅状态显示在馆

    Else

        If e.DataCol.Name = "归还日期" Then  \'如果更改的是归还日期列

          If e.DataRow.IsNull("归还日期") Then \'归还日期是否为空

             e.DataRow("借阅状态") = "借出" \'如果为空,则借阅状态显示借出

           Else

             e.DataRow("借阅状态") = "在馆" \'如果不为空,则借阅状态显示在馆

           End If

         End If

      End If

End If


--  作者:狐狸爸爸
--  发布时间:2013/9/25 17:26:00
--  
Select Case e.DataCol.Name
    Case "借阅日期", "归还日期"
        If e.DataRow.IsNull("借阅日期")  Then \'借阅日期是否为空
            e.DataRow("借阅状态") = "在馆" \'如果为空,则借阅状态显示在馆
        End If
        If e.DataRow.IsNull("归还日期") Then \'归还日期是否为空
            e.DataRow("借阅状态") = "借出" \'如果为空,则借阅状态显示借出
        Else
            e.DataRow("借阅状态") = "在馆" \'如果不为空,则借阅状态显示在馆
        End If
End Select

--  作者:renee
--  发布时间:2013/9/25 17:27:00
--  
以下是引用Bin在2013-9-25 17:22:00的发言:
这段不执行,说明你前面的那个IF判断成立了,自然不会进入下面了啊 If e.DataRow.IsNull("借阅日期")  Then \'借阅日期是否为空  
那后面的还要进行判断怎么办哩?


--  作者:Bin
--  发布时间:2013/9/25 17:28:00
--  
再使用IF进行一次判断
--  作者:逛逛
--  发布时间:2013/9/25 17:29:00
--  
IF ELSE     不就是判断执行吗?只会执行一个。
--  作者:gsnake
--  发布时间:2013/9/25 17:30:00
--  

逻辑混乱啊

 

借阅日期

 

归还日期  

 

归还的判断不能包含在借阅里面吧

[此贴子已经被作者于2013-9-25 17:30:43编辑过]