【问题标题】:In Access VBA expression builder, how do I sum a column conditionally?在 Access VBA 表达式生成器中,如何有条件地对列求和?
【发布时间】:2012-01-06 06:47:31
【问题描述】:

假设我有两个字段A 和B 和一个文本框B_input。我想设置一个查询,以便将A 列的所有条目相加,其中B = B_input

目前我有:

==Sum(IIf([B_input]<>"All",[A],IIf([B_input]<>[B],0,[A])))

我做了更多测试,似乎问题是在 Sum(IIF([B_input])) 下,它无法识别 [B_input] 的值,但如果我只有 IIF([B_input]),它会识别值就好了,有什么想法吗?

【问题讨论】:

  • 我们正在尝试同时编辑帖子,我会等待一段时间再尝试进行更多更改。
  • 谢谢,我刚刚添加了更多信息。

标签: ms-access vba expressionbuilder


【解决方案1】:
iif([B_input]=="xyz",Sum[A],False)

可能是您所追求的,但我不确定我是否正确理解了您的问题。

或者,只需将 sql 编辑为类似

SELECT(SUM[A]) AS SumOfA FROM [MyTable] HAVING ("B"="xyz");

【讨论】:

    【解决方案2】:

    怎么样:

    =Sum(IIf([B_input]<>"All",[A],0))
    

    【讨论】:

    • @Yongke 你在哪里尝试这样做?因为这是一个相当标准的答案。
    • 论坛中文本框的表达式生成器。是否与 [B_input] 是论坛文本字段而不是表格字段有关?
    • @Yongke 所以你总结了什么?您是指连续表单的表单页脚中的文本框吗?因为如果不是,您需要准确地说出您希望达到的目标 - 总和可能不是答案。
    • 是的,就是这样。我在连续表格的末尾有一个文本框。 [A] 和 [B] 是列,而 [B_input] 是文本框。它似乎无法识别 [B_input] 的文本框值。
    • 好吧,我做了更多测试,这似乎是罪魁祸首:=Sum(IIf([B_input],1,2)),它根本无法识别 B_input 的值,但如果我有=IIf([B_input],1,2) 那么可以,有什么想法吗?
    【解决方案3】:

    放弃,改用表单过滤。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多