根据另一个子表单的更改在一个子表单上触发事件

时间:2015-09-20 02:40:37

标签: forms ms-access

我有一个包含两个子表单的主表单。第一个子表单(subformList)显示员工列表,第二个子表单(subformDetails)提供该员工的详细信息。

我使用主窗体中具有控制字段的做法,在subformList子窗体中获得所选雇员的值,并根据此值具有雇员详细信息子窗体的主/子链接。

直到这个pointe一切都很棒。我选择员工是一个子表单,另一个子表单显示新的详细信息。

我遇到的问题是,我需要在subformList子窗体中单击另一个雇员的详细信息更改后执行subformDetails表单中的一个字段。如果我在subformDetails字段中对相关控制字段的重新查询进行编码,它只需使用旧值重新查询(控件是一个列表框,其中查询作为记录源。正如预期的那样,我可以在subformList子表单中单击相同的员工第二次,正确的细节显示在相关的控制字段中。

所以我的问题是:在表单相互更新后,是否有办法装配事件。

请注意,我认为我可以简单地将一个事件设置为subformDetails控件之一,这样当其他子窗体形式强制进行更改时,就会有一个触发器来执行我需要的重新查询。然而,似乎事件是基于直接变化而不是来自其他形式的编码变化。

1 个答案:

答案 0 :(得分:0)

在写这个问题时,我认为可能我应该做的是在执行控件(列表框)的重新查询之前手动强制刷新subformDetails,这很有效。

所以只是总结一下

当我点击员工列表子表单中的员工时,我有一个onclick事件,该事件将在员工详细信息子表单中的列表框上运行requery。不幸的是,这个重新查询在雇员详细信息子表单中使用了一个控件框,该控件框在onclick事件之后的某个时间才会更新(两个表单之间的关系是与链接主/子和主窗体中的隐藏字段建立的。

修复是在运行列表框的重新查询之前重新查询员工详细信息子表单。这是因为单击列表中的员工更改为记录源行并刷新表单,确保控件在执行列表框重新查询之前具有该新值。

我仍然不知道是什么触发了两个子表单之间的表单更改。它必须是隐含的。