MsAccess:来自另一个子表单的子表单重新查询未更新

时间:2015-11-02 05:01:47

标签: forms ms-access combobox subforms

我有一个名为frmMain的表单,它有两个子表单。 frmUserRole和frmTraining。

frmUserRole子表单有一个组合框,其结果是我在查询中运行以在frmTraining子表单中生成训练结果,该子表单有一个名为TrainingModule的控件。

frmTraining子表单有一个训练查询的记录源,如前所述,它有一个引用组合框值的字段。

活动

我有简单的requery事件连接到逻辑组合框中的on-change事件,如果你更改了组合框中的值,那么新值将自动用于更新查询并用frmTraining子表填充新结果。

我用于组合框on-change事件的语法是

[表格]![frmMain]!frmTraining.Form.Requery

未发生的事情

子表单未使用新查询结果进行更新。

发生了什么。

如果我转到frmTraining子窗体并按F5,则会显示新值,表明除了实际的requery之外一切都在运行。

如果我在on-change事件上放了一个msgbox,它会被触发,所以我知道事件会被触发。

1 个答案:

答案 0 :(得分:0)

我没有使用过你以前使用过的语法。这是我以前使用的语法

Me![frmTraining].requery

并且

forms!frmMain.form![FrmTraining].requery

  

修改

我会在相关字段中将训练子表单查询条件设置为forms!frmMain![frmUserRole]![combobox].column(0)

然后我会在frmUserRole子表单组合框的后续更新上执行requery forms!frmMain.form!frmTraining.requery。我说afterUpdate因为我认为onChange

可能存在问题