Access 2016 表单控件验证规则未触发
Access 2016 Form Control Validation Rule Not Firing
我有一个简单的未绑定访问 2016 表格。在窗体上,我有几个控件,包括文本和组合框。在第一个文本框控件上,我想需要一个数据值(基础 table 字段数据类型是短文本)。
我已将 属性 sheet 中控件的验证规则 属性 设置为 "Is Not Null" 并添加了适当的验证文本消息。
出于未知原因,我无法让此验证规则生效。我已经清除了 table 上的验证规则以确保它没有干扰,但是,运气不好。
好像当焦点离开控件时验证检查没有发生。没有其他已编写的事件过程会干扰两者。
感谢您的帮助。
你可以给控件一个默认值,然后
Form_load()
Yourcontrol.setfocus
Sendkeys "{DEL}"
要求是在控件失去焦点时使用验证规则验证控件是否存在缺失值(即,用户在未输入值的情况下跳出文本框)。我希望用户立即获得反馈,告知他们需要为给定控件提供值。
正如 Rene 在评论中指出的那样,除非值发生变化,否则验证规则不会触发。
Sendkeys 解决方案有问题,我只将 Sendkeys 作为最后的手段。
这种情况下的解决方案是将验证测试放在 Control_OnExit 事件处理程序中。用户根据需要立即获得反馈,而不会等到记录提交。
另外一个很容易被忽略的注意事项; 在未绑定的形式中,before_update 事件永远不会触发。
我有一个简单的未绑定访问 2016 表格。在窗体上,我有几个控件,包括文本和组合框。在第一个文本框控件上,我想需要一个数据值(基础 table 字段数据类型是短文本)。
我已将 属性 sheet 中控件的验证规则 属性 设置为 "Is Not Null" 并添加了适当的验证文本消息。
出于未知原因,我无法让此验证规则生效。我已经清除了 table 上的验证规则以确保它没有干扰,但是,运气不好。
好像当焦点离开控件时验证检查没有发生。没有其他已编写的事件过程会干扰两者。
感谢您的帮助。
你可以给控件一个默认值,然后
Form_load()
Yourcontrol.setfocus
Sendkeys "{DEL}"
要求是在控件失去焦点时使用验证规则验证控件是否存在缺失值(即,用户在未输入值的情况下跳出文本框)。我希望用户立即获得反馈,告知他们需要为给定控件提供值。
正如 Rene 在评论中指出的那样,除非值发生变化,否则验证规则不会触发。
Sendkeys 解决方案有问题,我只将 Sendkeys 作为最后的手段。
这种情况下的解决方案是将验证测试放在 Control_OnExit 事件处理程序中。用户根据需要立即获得反馈,而不会等到记录提交。
另外一个很容易被忽略的注意事项; 在未绑定的形式中,before_update 事件永远不会触发。