以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]这样的判断如何实现? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54969) |
||||
-- 作者:rophy0952 -- 发布时间:2014/8/8 9:40:00 -- [求助]这样的判断如何实现? 1.如果外观项目的值是"翘边",对应的实测值超过1,则判定为不良; 如果外观项目的值是"鼓包",对应的实测值超过1,则判定为不良; 如果外观项目的值是"轻微起皱",对应的实测值超过10,则判定为不良; 如果外观项目的值是"严重起皱",对应的实测值超过1,则判定为不良; 如果外观项目的值是"杂质",对应的实测值超过0,则判定为不良; 2.外观项目1~3中,只要有一个项目符合上面的条件,均判定为不良.
|
||||
-- 作者:有点甜 -- 发布时间:2014/8/8 10:40:00 --
|
||||
-- 作者:rophy0952 -- 发布时间:2014/8/8 13:25:00 -- 已解决,谢谢! |
||||
-- 作者:rophy0952 -- 发布时间:2014/8/9 9:25:00 -- @有点甜:现在又遇到一个问题,同样是这张表,条件多了一些,我自己按照上面的代码做了一下,在执行的时候,总是意外退出,帮忙看看是哪里写错了呢?谢谢 条件是,1.项目值为链纹时,当镀区宽度小于18,不良区数大于8,镀层判定为不合格;当镀区宽度在19与52之间,不良区数大于4,镀层判定为不合格,当镀区宽度在53以上,不良区数大于2,镀层判定为不合格。项目值为拉伤时,不良区数大于0,镀层判定为不合格。项目值为有孔时,不良区数大于0,镀层判定为不合格。项目值为亮点时,不良区数大于0,镀层判定为不合格,否则为合格 。 3.镀层1和镀层2其中1人符合条件时,都判定为不合格 我的代码是:If e.DataCol.Name.StartsWith("镀层") Then e.DataRow("镀层判定") = Nothing For i As Integer = 1 To 2 Dim v3 As String = e.DataRow("镀层" & i & "_项目") Dim v4 As String = e.DataRow("镀层" & i & "_不良区数") Dim v5 As String = e.DataRow("镀区宽度") If v3 = "拉伤" AndAlso v4 > 0 OrElse v3 = "有孔" AndAlso v4 > 0 OrElse v3 = "亮点" AndAlso v4 > 0 OrElse v3 = "链纹" AndAlso v5 < 18 AndAlso v4 > 8 OrElse v3 = "链纹" AndAlso v5 < 18 AndAlso v5 > 52 AndAlso v4 > 4 OrElse v3 = "链纹" AndAlso v5 > 53 AndAlso v4 > 2 Then e.DataRow("镀层判定") = "不合格" Exit For Else e.DataRow("镀层判定") = "合格" End If Next End If
|
||||
-- 作者:rophy0952 -- 发布时间:2014/8/9 9:32:00 -- 该怎样改呢? |
||||
-- 作者:rophy0952 -- 发布时间:2014/8/9 9:47:00 -- 哦,对了.我漏了一句,If e.DataCol.Name.StartsWith("镀层") AndAlso e.DataCol.Name <> "镀层判定" Then,这样就可以了吧? 条件那里这样写对吗?If v3 = "拉伤" AndAlso v4 > 0 OrElse v3 = "有孔" AndAlso v4 > 0 OrElse v3 = "亮点" AndAlso v4 > 0 OrElse v3 = "链纹" AndAlso v5 < 18 AndAlso v4 > 8 OrElse v3 = "链纹" AndAlso v5 < 18 AndAlso v5 > 52 AndAlso v4 > 4 OrElse v3 = "链纹" AndAlso v5 > 53 AndAlso v4 > 2 Then |
||||
-- 作者:Bin -- 发布时间:2014/8/9 9:50:00 -- 嗯 |