访问2016表单控件验证规则未触发

时间:2016-08-04 05:28:23

标签: validation ms-access access-vba ms-access-2016

我有一个简单的未绑定访问2016表单。在表单上,​​我有几个控件,包括文本和组合框。在第一个文本框控件上我想要一个数据值(基础表字段数据类型是短文本)。

我已将属性表中控件的Validation Rule属性设置为“Is Not Null”并添加了相应的验证文本消息。

由于未知原因,我无法获得此验证规则。我已经清除了表格上的验证规则,以确保它没有干扰,但是,没有运气。

当焦点离开控件时,就好不会进行验证检查。没有其他事件程序可以干预。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以为控件指定默认值,然后

Form_load()
Yourcontrol.setfocus
Sendkeys "{DEL}"

答案 1 :(得分:0)

要求是在控件失去焦点时使用验证规则验证控件的缺失值(即用户选中文本框而不输入值)。我希望用户能够获得他们为给定控件提供值所需的即时反馈。

正如Rene在评论中指出的那样,除非价值发生变化,否则验证规则不会触发。

Sendkeys解决方案存在问题,我只使用Sendkeys作为最后的手段。

本例中的解决方案是将验证测试放在Control_OnExit事件处理程序中。用户可以根据需要立即获得反馈,并且不会等到提交记录。

另一个可能很容易被遗漏的说明; 以未绑定的形式,before_update事件永远不会触发。