以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数值区间判断  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=45266)

--  作者:lyfxybc1971
--  发布时间:2014/1/20 16:20:00
--  数值区间判断


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

如何判断


--  作者:Bin
--  发布时间:2014/1/20 16:22:00
--  
没有看懂图片点击可在新窗口打开查看
--  作者:njcyt
--  发布时间:2014/1/20 16:31:00
--  
用表达式
--  作者:lyfxybc1971
--  发布时间:2014/1/20 16:34:00
--  

                   -1 <=数值列的值<=1  逻辑1=true

                  -2 <=数值列的值<-1      和    1 <数值列的值<=2      逻辑2=true

                  数值列的值<-2      和    数值列的值 >2       逻辑3=true

[此贴子已经被作者于2014-1-20 16:40:02编辑过]

--  作者:lyfxybc1971
--  发布时间:2014/1/20 16:40:00
--  

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

--  作者:Bin
--  发布时间:2014/1/20 16:44:00
--  
if e.datarow("数值列")<=1 andalso e.datarow("数值列")>=-1 then
      e.datarow("逻辑列1")=true
end if
if (e.datarow("数值列")<-1 andalso e.datarow("数值列")>=-2) orelse (e.datarow("数值列")<=2 andalso e.datarow("数值列")>1)  then
      e.datarow("逻辑列2")=true
end if

第三个和第二个类似.
[此贴子已经被作者于2014-1-20 16:43:59编辑过]

--  作者:lyfxybc1971
--  发布时间:2014/1/20 16:49:00
--  

谢谢


--  作者:lsy
--  发布时间:2014/1/20 16:57:00
--  

一逻辑列为真,其他逻辑列必须为假,不然数值列一修改,逻辑值就矛盾了。

If e.DataCol.Name = "第一列" Then
    If e.DataRow.IsNull("第一列") = False Then
        If e.DataRow(e.DataCol) >= - 1 AndAlso e.DataRow(e.DataCol) <= 1 Then
            e.DataRow("第二列") = True
            e.DataRow("第三列") = False
            e.DataRow("第四列") = False
        ElseIf (e.DataRow(e.DataCol) > 1 AndAlso e.DataRow(e.DataCol) <= 2) OrElse (e.DataRow(e.DataCol) >= - 2 AndAlso e.DataRow(e.DataCol) < - 1) Then
            e.DataRow("第二列") = False
            e.DataRow("第三列") = True
            e.DataRow("第四列") = False           
        ElseIf e.DataRow(e.DataCol) > 2 OrElse e.DataRow(e.DataCol) < - 2 Then
            e.DataRow("第二列") = False
            e.DataRow("第三列") = False
            e.DataRow("第四列") = True
        End If
    End If
End If