我有一个小的DBase,它协调6个不同商店的工具。选择您想要查看的商店的名称可以很好地更新qryInventory的SQL,这样它就可以查看正确的表,但我无法获得要更新的子窗体。
我已经看遍了下一篇文章,找到了这段代码的几个变体,但我根本无法让它们正常工作。
Forms.Form_UpdateInventoryForm.Form_Inventory00.Requery
发布于 2010-11-13 05:56:43
语法为:
[NameOfMainForm].[NameOfSubformControl].Form.Requery如果您是从主窗体运行此应用程序,则可以使用Me而不是NameOfMainForm。请注意使用子窗体控件的名称,而不是所包含的窗体。Form和Requery就是它们的原样。Form是subform控件的一个属性。
更多信息:http://www.mvps.org/access/forms/frm0031.htm
发布于 2012-01-09 12:02:35
我遇到了这个问题,包括重新查询子窗体失败。
似乎可以解决这个问题的是,至少在我的例子中,是清除父(主)窗体中的子窗体控件的SourceObject属性,然后重新设置它。这里假设设置了Form_Master。
Form_Master.SubformQuery.SourceObject = "" 'this is the important part
Form_Master.SubformQuery.SourceObject = "Query.ListSearchQuery"请注意,我正在做一件晦涩难懂的事情,那就是使用查询作为源对象。这似乎会强制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 https://stackoverflow.com/questions/4169163
复制相似问题