【问题标题】:MS Access Report Unbound DLookup Not Updating Unless ClickedMS Access 报告未绑定 DLookup 不更新,除非单击
【发布时间】:2015-04-23 17:22:36
【问题描述】:

我必须在 Access 2013 报表中使用未绑定的文本框,因为虽然我要查找的数据在相关表中,但子表中可能没有匹配的记录。

基本上,我有一个主库存表,它有一个主键和一个唯一索引“Stock#”。此表有与该单个库存号相关的数据,另外还有 5 个相关表,其中包含与该库存号相关的其他数据,例如成本、销售额、位置等。当在主表中创建库存记录时,在 4 个表中创建了一条子记录,其中包含一些基本的初始数据,并且它们都以一对一的关系锁定。尽管我使用了未绑定的表单,但我选择了这样的结构数据以避免记录锁定冲突,并提高多用户环境中的性能。

这是我的问题:

我正在设计一份库存快照报告,其中包含来自所有五个表的数据。不使用库存记录创建具有一对一关系的表之一。它来自外部来源(密钥跟踪机器)。问题是,有时数据库中可能存在库存编号,但它还没有进入关键机器。在大多数情况下没什么大不了的,除非在设计绑定报告时。我绑定报表的查询从所有库存表中选择数据,包括关键数据表。假设库存表中有 200 个库存编号,其他 4 个表中有 200 个相同的记录。然而,关键数据表只有 195 条记录。这意味着该报告将仅选择所有五个表(195 条记录)中都存在完全匹配的库存编号和相关数据。我的解决方案是在未绑定的文本框中创建一个 dlookup,语法如下:

=DLookUp("[KeyTrakExport]![CurrentlyOutTo]","[KeyTrakExport]","    [KeyTrakExport]![Stock#]= " & Chr(34) & [Reports]![TestInvtReport]![Stock#] & Chr(34))

我已经尝试了很多变体,有和没有 Chr(34),并且至少有 5 种工作方法来查找关键数据。但是,问题是,让它实际检索值(如果有)的唯一方法是单击报告上的每个关键数据文本框。我尝试了许多不同的重新查询/更新方法,并使用 VBA 检索值并将其植入文本框中。这些都不能正常工作,如果有的话,它们会为报告中的所有记录分配相同的值。我知道 Access 在很多方面都受到限制,但我必须使用它几个月才能切换到真正的开发。有谁知道如何在报告加载后立即更新此 dlookup 函数,并且每当它刷新时?还是我应该放弃它并使用设计为类似报告的连续表单?

谢谢,

马特

【问题讨论】:

    标签: ms-access vba ms-access-2013


    【解决方案1】:

    我实际上刚刚找到了解决方案。我之前已经尝试过这种语法,但无济于事,但在安装了最新的 Office 更新并重新启动后,它就奏效了。

    =DLookUp("[CurrentlyOutTo]","[KeyTrakExport]","[Stock#]=  '" & [Reports]!    [TestInvtReport]![Stock#] & "'")
    

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多