access有效性规则不为空值_access窗体文本框有效性规则中输入is not null无效

展开全部

在ACCESS文本框有效性规则中输入is not null其实是有效的,只不过有效性规则必须在文本框的内32313133353236313431303231363533e78988e69d8331333332643263容发生改变后才会被触发。

如果原本该文本框内容为空,而你又没有为该控件输入任何东西,当你离开当前记录时,有效性规则未被触发,这样Null值就会被保存到控件所绑定的字段里。但是如果你一旦为该文本框输入任何字符,或将已有内容删除掉,那么有效性规则就会起作用。不信的话,楼主可以试一试。

你所说的is not null 无效,is null 有效,其实是一种错觉,它是由有效性规则、文本框原有值和触发时机综合造成的。

如果文本框原本是空的,你不在该文本框输入任何内东西,其内容未发生改变,文本框的有效性规则不会被触发。由于原本内容就是空的,对于is not null来说,这时没有提示错误自然就会令人感觉“无效”了,对于is null来说,这时没有提示错误,它是应该的,没有什么不妥。而当你向原本为空的文本框输入字符时,其内容变化了(从无到有),有效性规则被触发,这时有内容对于is null 来说它违反了规定,系统必然提示错误,这样就会给人带来前者无效、后者有效的印象。

如果要彻底避免存入Null值,请在数据表设计视图,将需要防止出现“Null值”字段的“必填字段”属性(Required)设置为“是”。请见下图

请留意空值(null)与空字符串("")之间的区别,两者不是一个东西,尽管它们的外观看上去都是空的。

另外,变更字段“必填字段”属性为“是”或者“允许空字符串”属性为“否”时,如果数据表里已经存在含Null值,或空字符串的记录,那么属性变更就会因记录冲突而失败。解决办法是先删除那些含有空值或空字符串的记录,然后再变更字段的属性。

删除含Null值的记录,可运行下列删除查询:

delete from 表名 where 字段名 is null

删除含空字符串的记录,可运行下列删除查询:

delete from 表名 where 字段名=''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值