0

我有一个小型 DBase,它在 6 个独立的商店中协调工具。选择您要查看的商店的名称可以很好地更新 qryInventory 的 SQL,以便它查看正确的表,但我无法让子表单更新。

我查看了下一个,发现了这段代码的几个变体,但我根本无法让它们工作。

Forms.Form_UpdateInventoryForm.Form_Inventory00.Requery

4

2 回答 2

1

语法是:

[NameOfMainForm].[NameOfSubformControl].Form.Requery

如果您从主窗体运行它,您可以使用 Me 而不是 [NameOfMainForm]。小心使用子窗体控件的名称,而不是包含的窗体。Form 和 Requery 就像它们一样。表单是子表单控件的属性。

更多信息:http ://www.mvps.org/access/forms/frm0031.htm

于 2010-11-12T21:56:42.943 回答
0

我遇到了这个问题,包括 Requery-ing 子表单失败。

至少在我的情况下,似乎解决该问题的方法是清除父(主)表单中子表单控件的 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 
于 2012-01-09T04:02:34.517 回答