2

我有一个包含两个子表单(1 和 2)的表单。子表格 1 连续存储帐户细分的数据。使用弹出子表单(子表单 2),用户输入数据以更改或更新存储在子表单 1 上的帐户明细。提交时,信息存储在链接到子表单 1 的子表中,但数据不会刷新并在子表单 1 的新记录中添加新信息,除非我手动单击主页选项卡中的全部刷新按钮。

到目前为止,我已经在子表单 2 的 form_afterupdate 上尝试了以下代码,它会自动重新查询子表单 1,但在主表单关闭时会创建运行时错误 (2450):

Private Sub Form_AfterUpdate()

On Error GoTo Err_Form_AfterUpdate

Forms!frmSpendPlan!frmSpendPlanSub.Form.Requery

Exit_Form_AfterUpdate:

Exit Sub

Err_Form_AfterUpdate:

MsgBox Err.Description

Resume Exit_Form_AfterUpdate

End Sub

如果有人有办法在提交子表单 2 后自动重新查询子表单 1 数据而不会产生错误,请告诉我,感谢您提供的任何帮助。

谢谢!

4

1 回答 1

1

我有时和你有同样的问题!表单无法正确刷新。

方法一

试试这行代码而不是当前的重新查询代码。它不应该给你一个错误,但由于错误可能仍然无法工作......

Form_frmSpendPlanSub.Requery

我使用这种格式来跨表单引用,并且通常效果很好。

方法二

1)您可以尝试在设计视图中单击正在执行“ After_Update ”的表单

2)右击表单,点击“ BUILD EVENT ..” 并选择“表达式生成器

在表达式生成器中,您可以准确地看到您在表单中的链接到您想要访问的表单以及您想要做什么......

因此,您可以通过转到FORMS --> Loaded Forms --> frmSpendPlanSub来导航自己,然后从列表中双击““这会让你引用你想要影响的表单。然后你所要做的就是将上面框中给你的代码复制到你的 VBA 代码中,然后引用你想要做的事情......

例如

Forms![frmMainForm]![frmSecondForm].Form![frmThirdForm].Form.Requery

无论如何希望这会有所帮助......

于 2013-04-19T13:40:07.967 回答