Access交流中心

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

用代码判断数值区间进行自动填表

李春龙  发表于:2015-05-14 17:03:26  
复制

例如有两个文本框A和B。在文本框A中填入数字,B根据代码判断自动填入合格或者不合格,这样的代码怎么写?请教大神们。

 

Top
chinasa 发表于:2015-05-14 17:11:12

在A的更新后事件(或更新事件)写代码:

if me.A文本框>60 then

me.B文本框="合格"

else me.B文本框="不合格"

end if



李春龙 发表于:2015-05-15 08:23:38
追问下,如果A的条件是个区间,例如:0.1到1,该怎么写?

zhaoyoulong 发表于:2015-05-15 08:58:24

if me.A文本框>=0.1 and  me.A文本框<=then

me.B文本框="合格"

else me.B文本框="不合格"

end if



李春龙 发表于:2015-05-15 08:58:32
跪求一解。

煮江品茶 发表于:2015-05-15 09:28:14
1、建立一个数据表,假设名曰:标准表,该表字段为:标准ID(主键,自动编号),下限,上限,判定(文本型,用于说明在某区间时的判定结果)。将所有判定标准填入该表,注意记录间上下限的连续性。


2、在查询或者窗体控件中调用该表:
(1)查询中调用:
select *,dlookup("判定","标准表","下限<=" & [实际公差] & " and 上限>" & [实际公差]) as 检验结果
from 产品检验表

(2)假设窗体上存在两个控件,分别名曰:实际公差、检验结果,在检验结果控件的控件来源属性中写:
=dlookup("判定","标准表","下限<=" & [实际公差] & " and 上限>" & [实际公差])


李春龙 发表于:2015-05-15 09:37:07
大师,这一新的思路确实引人入胜。小弟下去再研究。现在能不能用代码解决这个问题。。这样我会比较容易上手些。

chinasa 发表于:2015-05-15 09:41:22

你是要解释一下吗?

最好能象煮版的方法,如果该方法你一时无法理解,也可以用下述方法,具体解释如下:

 

if me.A文本框>=0.1 and  me.A文本框<=then     '如果 当前窗体下A文本框大于或等于0.1,并且,当前窗体下A文本框小于或等于1,则:

me.B文本框="合格"                                               '在当前窗体下B文本框写上“合格”

else me.B文本框="不合格"                                     '否则,当前窗体下B文本框写上“不合格”

end if





李春龙 发表于:2015-05-15 09:51:36

对的~就是要这个结果。

顺带问一下煮版的方法有什么特别的地方吗?诚心请教,留着以后用。

说个大概就可以了,谢谢。



煮江品茶 发表于:2015-05-15 09:55:00
鬼打架的,这是最简单的方法了。
否则需要用iif或者switch函数。比如,可在检验结果控件的控件来源中写:
=Switch([实际公差]>=0.0001 and [实际公差]<0.0002,"优等品",[实际公差]>=0.0002 and [实际公差]<0.0003,"一等品",[实际公差]>=0.0003 and [实际公差]<0.0004,"二等品",[实际公差]>=0.0004,"残次品")


chinasa 发表于:2015-05-15 13:40:31

煮版的方法是可以由操作人员维护的,而我写的方法是用代码写死的。

你将来如果做好的系统是交给业务人员使用,而这个标准有时又会变化的,那么煮版的方法就体现出优势了。



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