以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  条件代码部分不执行,请指导,谢谢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175093)

--  作者:lgz518
--  发布时间:2022/2/19 14:11:00
--  条件代码部分不执行,请指导,谢谢
条件代码部分不执行,请指导,谢谢  发帖心情 Post By:2022/2/19 12:37:00 [只看该作者]

下面代码,红字代码不执行,如何处理,谢谢

If e.DataCol.Name="成绩" Then            

    If e.NewValue  Is Nothing   Then
        e.DataRow("等级")= Nothing
\'如果"成绩">= 105的条件,"等级"字段列=("A")        
    ElseIf e.NewValue>= 105 Then                 
        e.DataRow("等级")=("A")
     
 \'如果95<="成绩" <105的条件,"等级"字段列=("B")             
    ElseIf e.NewValue >= 95 Or e.NewValue < 105 Then
        e.DataRow("等级")=("B")

 \'如果85<="成绩" <95的条件,"等级"字段列=("C")             
    ElseIf e.NewValue >= 85 Or e.NewValue < 95 Then
        e.DataRow("等级")=("C")

\'如果70<="成绩" <85的条件,"等级"字段列=("D")        
    ElseIf e.NewValue >= 70 Or e.NewValue < 85  Then
        e.DataRow("等级")=("D")

\'如果"成绩" <70的条件,等级"字段列=("E")     
   
    Else
        e.DataRow("等级")=("E")
    End If
End If


--  作者:有点蓝
--  发布时间:2022/2/19 14:13:00
--  
测试的时候是什么值?"成绩"列是什么类型?

If e.DataCol.Name="成绩" Then            
msgbox(e.NewValue)
    If e.NewValue  Is Nothing   Then

--  作者:lgz518
--  发布时间:2022/2/19 14:33:00
--  
成绩"列是单精小数类型,

\'如果85<="成绩" <95的条件,"等级"字段列=("C")             
    ElseIf e.NewValue >= 85 Or e.NewValue < 95 Then
        e.DataRow("等级")=("C")
  
测试:"成绩",85、94、88、86、87、90都无执行

\'如果70<="成绩" <85的条件,"等级"字段列=("D")        
    ElseIf e.NewValue >= 70 Or e.NewValue < 85  Then
        e.DataRow("等级")=("D")

测试:"成绩",70、85、78、76、77、80都无执行


\'如果"成绩" <70的条件,等级"字段列=("E")     
   
    Else

测试:"成绩",60、65、68、66、67、70都无执行

        e.DataRow("等级")=("E")

--  作者:有点蓝
--  发布时间:2022/2/19 14:43:00
--  
or 改为and