以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么优化这段程序和实现celldraw标记?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70654)

--  作者:hotday1972
--  发布时间:2015/6/25 20:41:00
--  [求助]怎么优化这段程序和实现celldraw标记?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

写了一段程序,其中有个自定义函数,能实现自动判别输入值是否在公差范围,但是才10组数据就很烦了,如果50组数据怎么弄呢?

 

还有怎么实现把不合格的值用颜色标注出来,试了多次,都不行

 

求教!多谢!


--  作者:大红袍
--  发布时间:2015/6/25 20:46:00
--  
 直接说逻辑,看不懂你写的什么意思。
--  作者:hotday1972
--  发布时间:2015/6/25 20:56:00
--  

工件的公差分为两种情况,一种是既有上差也有下差,另一种是只有上差或只有下差。如果表格中事先设定了公差,然后输入值去判断该值是否在公差范围内。

这个我的自定义函数可以实现。

可是要判断多组数据,比如50组,我编的代码就显得愚蠢了。怎么简单化,另外如果出现不在公差范围内的值,要标注出来怎么弄?谢谢


--  作者:大红袍
--  发布时间:2015/6/25 21:04:00
--  

  http://www.foxtable.com/help/topics/0656.htm

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

 


--  作者:hotday1972
--  发布时间:2015/6/25 21:46:00
--  

没有回答我的问题啊

 

这段程序用数组或者集合怎么做?

Dim dr As DataRow = e.DataRow
Dim b As Boolean = True
Select Case e.DataCol.Name
    Case "No1","No2","No3","No4","No5","No6","No7","No8","No9","No10"
        If dr.IsNull("No1") And dr.IsNull("No2") And dr.IsNull("No3") And dr.IsNull("No5") And dr.IsNull("No5") And dr.IsNull("No6") And dr.IsNull("No7") And dr.IsNull("No8") And dr.IsNull("No9") And dr.IsNull("No10") Then
            dr("Result") = ""
        Else
            If dr.IsNull("No1") = False
                b = Functions.Execute("ResultAssess",dr("No1"))
            End If
            If dr.IsNull("No2") = False
                b = b And Functions.Execute("ResultAssess",dr("No2"))
            End If
            If dr.IsNull("No3") = False
                b = b And Functions.Execute("ResultAssess",dr("No3"))
            End If
            If dr.IsNull("No4") = False
                b = b And Functions.Execute("ResultAssess",dr("No4"))
            End If
            If dr.IsNull("No5") = False
                b = b And Functions.Execute("ResultAssess",dr("No5"))
            End If
            If dr.IsNull("No6") = False
                b = b And Functions.Execute("ResultAssess",dr("No6"))
            End If
            If dr.IsNull("No7") = False
                b = b And Functions.Execute("ResultAssess",dr("No7"))
            End If
            If dr.IsNull("No8") = False
                b = b And Functions.Execute("ResultAssess",dr("No8"))
            End If
            If dr.IsNull("No9") = False
                b = b And Functions.Execute("ResultAssess",dr("No9"))
            End If
            If dr.IsNull("No10") = False
                b = b And Functions.Execute("ResultAssess",dr("No10"))
            End If
            If b = True Then
                dr("Result") = "OK"
            Else
                dr("Result") = "NG"
            End If
        End If
End Select


--  作者:大红袍
--  发布时间:2015/6/25 21:48:00
--  
 4楼已经给你做好了啊,自己看代码。
--  作者:hotday1972
--  发布时间:2015/6/25 21:53:00
--  
谢谢大红袍老师,我看到的是自己的项目,不好意思,还以为没弄呢。
--  作者:hotday1972
--  发布时间:2015/6/25 21:59:00
--  
写得真好,佩服!多谢!