Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]利用组合框取值,IF语句判断大小

张建国  发表于:2015-11-25 19:18:53  
复制

有的能验证通过,有的验证不通过,求远程

 

Top
煮江品茶 发表于:2015-11-26 10:41:19

差异值=iif(测量值>=最小值 and 测量值<=最大值,0,iif(测量值<最小值,测量值-最小值,测量值-最大值))

差异值=测量值-iif(测量值>=最小值 and 测量值<=最大值,测量值,iif(测量值<最小值,最小值,最大值))

差异值=测量值-iif(测量值<最小值,最小值,iif(测量值>最大值,最大值,测量值))

差异值=测量值-iif(测量值<最小值,最小值,iif(测量值<最大值,测量值,最大值))



张建国 发表于:2015-11-27 17:06:08

很感谢煮江品茶老师的回复!

但是我测试了,效果还是不行,下附代码

Private Sub qc_weight_AfterUpdate()

Me.weight_difference.Enabled = True

'If Me.qc_weight >= Me.weight_id.Column(4) Then      '如果测量值大于或等于标准值上限,则误差值为两者正差。
  
 '  Me.weight_difference = Me.qc_weight - Me.weight_id.Column(4)      ' 标准值上限取重量标准组合框值
  
  ' Else
  ' If (Me.qc_weight < Me.weight_id.Column(4)) And (Me.qc_weight > Me.weight_id.Column(5)) Then
 
  ' Me.weight_difference = 0                                          '如果测量值在标准值上下限内,则误差值为零。
  
 '  Else
  '   Me.weight_difference = Me.qc_weight - Me.weight_id.Column(5)       '如果测量值小于标准值下限,则误差值为两者负差。
     
  ' End If
  
    
'End If
  
  '差异值=测量值-iif(测量值<最小值,最小值,iif(测量值>最大值,最大值,测量值))
  
   Me.weight_difference = Me.qc_weight - IIf(Me.qc_weight < Me.weight_id.Column(5), Me.weight_id.Column(5), IIf(Me.qc_weight >= Me.weight_id.Column(4), Me.weight_id.Column(4), Me.qc_weight))
  

Me.weight_difference.Enabled = False

End Sub

 



张建国 发表于:2015-11-28 09:56:23

 



张建国 发表于:2015-11-28 09:57:41
煮江品茶老师,我也尝试了您的代码,和我的代码结果一样,有的数据验证正确,有的验证不正确,

zhaoyoulong 发表于:2015-12-09 12:26:16
是不是你的值有问题?我说的是数据或是字段的类型

张建国 发表于:2015-12-09 19:13:59

数据计算要用VAL函数即可



总记录:6篇  页次:1/1 9 1 :