【问题标题】:Requery Subform after dynamic SQL is updated.动态 SQL 更新后重新查询子表单。
【发布时间】:2011-05-09 07:45:39
【问题描述】:

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

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

Forms.Form_UpdateInventoryForm.Form_Inventory00.Requery

【问题讨论】:

  • 只是一个建议,将所有商店放在同一个表中(除非它们具有截然不同的字段)并添加一个 ShopID 字段。这样,您只需将 shop ID 设置为参数值并避免使用动态 sql。

标签: sql ms-access dynamic subforms


【解决方案1】:

语法是:

[NameOfMainForm].[NameOfSubformControl].Form.Requery

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

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

【讨论】:

  • 谢谢你的链接,它看起来像一个优秀的资源。
  • Me!Inventory00.Form.Requery 在没有错误的情况下工作,但我输入的测试数据让我有一个视觉 Q. 告诉我实际数据没有改变,甚至虽然当我点击底层查询时,它会出现正确的数据集。
  • 您是否设置了链接子字段和主字段?当商店更改时,您是否正在替换子表单记录源? As Jeff O suggests, if all this data was in the same tables, you could use the shop id (either control or field) as the link between form and subform and the subform would automatically update when a new shop was selected.
  • 我找到了Anwser,如果您查询动态sql并重新打开子表单,您会发现相当多的人遇到过这个问题,似乎简单的重新查询在这里不起作用。访问必须认为,我已经调查了那个 Query 什么的。但我们有一个答案。
  • Wayne at bytes.com 提供了这个有效的代码 sn-p 并且值得得到应有的支持。 TY 但是对于我知道它们将是无价的优秀链接。 BB。 'me.subformname.form.recordsource = 查询名
【解决方案2】:

我遇到了这个问题,包括 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 

【讨论】:

    猜你喜欢
    • 2014-10-20
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多