单击父窗体时,访问VBA子窗体事件不会触发

时间:2009-07-01 00:40:37

标签: ms-access vba

好的,我在父表单上有几个控件,还有一个子表单。用户在子表单中输入数据。然后当他们点击子表单时,我有代码来验证他们的数据。然而,MS以其无限的智慧,选择不让焦点离开子表单,直到用户点击父表单上的另一个控件(而不是父表单本身),这对用户来说非常烦人。

基本上我想做的就是在允许用户继续下一个控件之前验证子表单中的数据,即使用户单击父表单本身也是如此。这可能吗?

2 个答案:

答案 0 :(得分:1)

您可以在您使用的子窗体控件的“OnExit”事件中执行此操作。

当子窗体上的控件失去焦点以控制父窗体时,通常会触发“OnExit”事件。它不存在于子表单本身中,但它是包含子表单的控件的唯一两个事件之一。

希望有所帮助。

答案 1 :(得分:0)

我认为您将不得不在主窗体上挂钩Form_Click事件并对其执行某些操作。将焦点设置为主窗体上的字段可能会导致子窗体触发具有验证代码的事件。

如果这不起作用,请在主窗体的Form_Click上手动触发子窗体上的验证代码,如下所示:

Call Forms!MainForm!Subform.Form.Validate

已经有一段时间了,所以我的Access VB有点生疏,YMMV。