【问题标题】:MS Access Expression That Includes Dynamic Field Names包含动态字段名称的 MS 访问表达式
【发布时间】:2021-02-02 22:53:55
【问题描述】:

我有一个交叉表查询,它根据消费者对一堆材料编号的需求返回结果。物料编号成为交叉表查询中的字段名称,然后这些字段中的值显示在表单中。

在表单中,我在文本框中显示值。有几个这样的文本框,我需要将这些字段中两个或多个值的总和相加。没什么大不了的,这是一个简单的表达。例如(在控制源属性中):=[H123457] + [H123456]。

这很有效,直到不需要特定的材料编号。在这种情况下,该字段不会出现在交叉表查询中,我只能尝试对两个不存在的字段求和。

我尝试过 IIf(IsError([H123456]), 0, [H123456])、Null 表达式、Nz 函数等,但无法弄清楚如何动态解决最终填充文本框的 #Name 问题。

基本上我想要的是不存在的字段的 0 值,所以我可以将它添加到字段存在的值 - 这可能吗?

问候!

【问题讨论】:

  • 基于动态每月 CROSSTAB 构建报告相当容易access.hookom.net/DynamicMthlyCrosstabRpt.htm。在您的情况下,日期不是列标题,因此除非有一组可以定义为 ColumnHeadings 的静态材料编号,因此即使没有数据也会生成列(allenbrowne.com/ser-67.html),您的要求更复杂.甚至可能涉及 VBA 将记录写入“临时”表——我使用的一种方法。大多数事情都可以用足够的代码来完成。当您有一些具体问题时,请发布问题。
  • 可能有多少材料编号?甚至 CROSSTAB 也仅限于 255 列。引用的报告技术可以应用于表单。

标签: ms-access


【解决方案1】:

June7 在 allenbrowne.com 链接中提供了答案。本质上,您需要将所有可能的字段名称添加到交叉表查询属性窗口中的列标题属性中。然后添加一个 Nz() 函数来处理空值就很简单了。

感谢 June7!

【讨论】:

    猜你喜欢
    • 2015-03-01
    • 2013-03-15
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多