我有一个小型DBase,它在6个不同的商店中协调工具。 选择要查看的商店名称会更新qryInventory的SQL 很好,所以它看着正确的表,但我还没有能够更新子表单。
我看了下一遍,发现了这段代码的几种变体, 但我根本无法让他们工作。
Forms.Form_UpdateInventoryForm.Form_Inventory00.Requery
答案 0 :(得分:1)
语法为:
[NameOfMainForm].[NameOfSubformControl].Form.Requery
如果从主窗体运行此命令,则可以使用Me而不是[NameOfMainForm]。小心使用子窗体控件的名称,而不是包含的窗体。 Form和Requery就像它们的立场一样。表单是子表单控件的属性。
答案 1 :(得分:0)
我遇到了这个问题,包括重新查询子表单失败。
似乎解决了这个问题,至少在我的情况下,是在父(主)表单中清除子窗体控件的SourceObject属性,然后重置它。假设Form_Master已设置..
Form_Master.SubformQuery.SourceObject = "" 'this is the important part
Form_Master.SubformQuery.SourceObject = "Query.ListSearchQuery"
请注意,我正在做一个不起眼的事情,即使用Query作为源对象。这似乎迫使Access查看新的sql,即使它刚刚在引用的查询中发生了变化。
希望这也适用于正常形式的情况。你可以把它概括为像这样的东西
Dim sourceReset As String
Dim Form_Master As Form_Master
Set Form_Master = Forms!Master
sourceReset = Form_Master.SubformControl.SourceObject
Form_Master.SubformControl.SourceObject = "" 'force reset
Form_Master.SubformControl.SourceObject = sourceReset