Foxtable(狐表)用户栏目专家坐堂 → 不同时段使用不同的评判标准


  共有2159人关注过本帖树形打印复制链接

主题:不同时段使用不同的评判标准

帅哥哟,离线,有人找我吗?
wangj6666
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
不同时段使用不同的评判标准  发帖心情 Post By:2017/11/18 9:55:00 [只看该作者]

各位专家:您们好!
      以前有个表达式列的表达式为IIF([偏差]   >  4.9 or [偏差] <= -5 or [标识是否正确] = '不正确' or [倒膜外观是否差异] = '有差异', '不合格', '合格'),如今要提高偏差的管控要求,将偏差的要求由[偏差]   >  4.9 or [偏差] <= -5,提高到[偏差]   >  2.9 or [偏差] <= -3,但之前时段的所有行评判标准要维持以前的要求,之后的按新的偏差要求评判,请问各位专家要如何修改?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110629 积分:563047 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/18 10:09:00 [只看该作者]

那就不能使用表达式了


 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2017/11/18 10:59:00 [只看该作者]

谢谢!能帮助我写一下用Select Case语言达到上述要求的代码吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110629 积分:563047 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/18 11:08:00 [只看该作者]

先使用下面代码,然后重置"偏差"
Select Case e.DataCol.Name 
    Case "
偏差","标识是否正确","倒膜外观是否差异" 
        If
 e.DataRow("
偏差") > 4.9 orelse  e.DataRow("偏差") <= -5 orelse  e.DataRow("标识是否正确") = "不正确"  orelse  e.DataRow("倒膜外观是否差异") = "有差异"  Then
            e.
DataRow("xxx列") = "不合格"
        
Else
            
e.DataRow("xxx列") = "合格"
        End
 If
End
 
Select

再把代码偏差值改为最新的即可,然后新录入的就会按照新的偏差值进行计算。

 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2017/11/18 11:23:00 [只看该作者]

非常感谢!但还没有加入时段日期,如果我想从2017年10月31日前的按上述[偏差]   >  4.9 or [偏差] <= -5进行评判,2017年10月31日起(含10月30日)按[偏差]   >  2.9 or [偏差] <= -3进行评判,还需如何进行修改呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110629 积分:563047 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/18 11:31:00 [只看该作者]

Select Case e.DataCol.Name 
    Case "
偏差","标识是否正确","倒膜外观是否差异" ,"日期"
        If (
e.DataRow("日期") < #10/31/2017# andalso e.DataRow("
偏差") > 4.9 orelse  e.DataRow("偏差") <= -5) orelse (e.DataRow("日期") >= #10/31/2017# andalso e.DataRow("偏差") > 2.9 orelse  e.DataRow("偏差") <= -3) orelse  e.DataRow("标识是否正确") = "不正确"  orelse  e.DataRow("倒膜外观是否差异") = "有差异"  Then
            e.
DataRow("xxx列") = "不合格"
        
Else
            
e.DataRow("xxx列") = "合格"
        End
 If
End
 
Select

 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2017/11/21 14:25:00 [只看该作者]

我编写好后,它只能在日期变化后,才能重新判断是否合格,当偏差修改后却不能及时重新更新判断结果?另外:有些2017年10月31日之前的时间,偏差小于-3的还是被判断为了不合格。请问还需要如何编码解决?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/21 14:35:00 [只看该作者]

Select Case e.DataCol.Name
    Case "偏差","标识是否正确","倒膜外观是否差异" ,"日期"
        If (e.DataRow("日期") < #10/31/2017# AndAlso (e.DataRow("偏差") > 4.9 OrElse  e.DataRow("偏差") <= -5)) OrElse (e.DataRow("日期") >= #10/31/2017# AndAlso (e.DataRow("偏差") > 2.9 OrElse  e.DataRow("偏差") <= -3)) OrElse  e.DataRow("标识是否正确") = "不正确"  OrElse  e.DataRow("倒膜外观是否差异") = "有差异"  Then
            e.DataRow("xxx列") = "不合格"
        Else
            e.DataRow("xxx列") = "合格"
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2017/11/21 16:14:00 [只看该作者]

谢谢专家的帮助,目前日期的问题解决了。偏差列在我的表中是个表达式列,目前还是偏差表达式计算结果已超过标准后,判定的结果还是没有进行相应的改变,是不是哪里还有不对的地方?请指教!谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/21 16:31:00 [只看该作者]

表达式列不能触发datacolchanged事件的。你看看

 

http://www.foxtable.com/webhelp/scr/2381.htm

 


 回到顶部
总数 12 1 2 下一页