【问题标题】:Trying to create an expression to count events depending on the date尝试创建一个表达式来根据日期计算事件
【发布时间】:2020-07-28 10:10:55
【问题描述】:

我正在尝试创建一个表达式。它将被放置在访问表单上的文本框中。背后的想法是显示在当前季度的第一个月、第二个月和第三个月发生了多少次会议。当我们进入另一个季度时,要分析的月份会发生变化,但始终会显示当前季度的所有月份,因此,第一季度将显示从一月开始的会议,当我们进入第二季度时将显示值从四月等开始。

这是我编写并尝试使用但不断获得#name 的表达式?错误

=DCount("[Meeting Date]";"tblDPAR";"year([meeting date]) = year(now()) AND Month([meeting date]) = IIf(Month(Now())<=3;1;IIf(Month(Now())<=6;4;IIf(Month(Now())<=9;7;10))")

显示的月份会随着天数的变化而变化。

textbox 所在位置的照片及其背后的想法。

编辑:假设当前月份是二月,第一个 txtbox 将显示一月的值,第二个 txtbox 显示二月的值和三月的第三个值。当本月进入第二季度时,第一个txtbox 将显示从四月开始的估值,第二个可能会估值,依此类推。

【问题讨论】:

    标签: forms ms-access formula


    【解决方案1】:

    使用下面的表达式计算第一季度的会议,即从 1 月 1 日到 3 月 31 日。然后更改其他季度公式的标准部分。

     =DCount("[Meeting Date]","[tblDPAR]","[Meeting Date]>= #" & DateSerial(Year(Now()),1,1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now()),3,31) & "#")
    

    【讨论】:

    • 从手机发布的未经测试的公式。
    • # 日期数据类型的符号。如果数据是字符串类型,那么我们将使用 ' 单引号。所以#(哈希)符号将参数限定为日期。
    • 谢谢你的回复,我不知道我说清楚了没有,但是过滤器的范围会随着季度的当前月份的变化而变化,所以不能像你一样固定建议。第一个 txtbox 将与当前季度的第一个月相关。它将查找一月份的值,第二季度查找四月份的值,依此类推
    • 先用公式,看看结果是否正确。我相信您可以根据您的进一步需求更改公式。
    • 不,它不起作用。给我一个无效的语法错误。
    【解决方案2】:

    我以@Harun24HR 在 cmets 中给我的答案作为解决问题的基础。 他的公式解决了我的部分问题,显示了今年每个季度发生了多少次会议(我图片中的最后三个文本框)。问题的另一半是显示每个季度每月有多少次会议,其方式随着年份的推移而变化(第二、第三和第四个文本框)。公式为:

    每个季度:

    =DCount("[Meeting Date]";"[tblDPAR]";"[Meeting Date]>= #" & DateSerial(Year(Now());1;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());3;31) & "#")
    

    对于每个季度月(以随着年份变化报告月份的方式): 第一个月:

    =DCount("[Meeting Date]";"[tblDPAR]";IIf(Month(Now())>=1 And Month(Now())<=3;"[Meeting Date]>= #" & DateSerial(Year(Now());1;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());1;31) & "#";IIf(Month(Now())>=4 And Month(Now())<=6;"[Meeting Date]>= #" & DateSerial(Year(Now());4;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());4;31) & "#";IIf(Month(Now())>=7 And Month(Now())<=9;"[Meeting Date]>= #" & DateSerial(Year(Now());7;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());7;31) & "#";"[Meeting Date]>= #" & DateSerial(Year(Now());10;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());10;31) & "#"))))
    

    第二个月:

    =DCount("[Meeting Date]";"[tblDPAR]";IIf(Month(Now())>=1 And Month(Now())<=3;"[Meeting Date]>= #" & DateSerial(Year(Now());2;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());2;31) & "#";IIf(Month(Now())>=4 And Month(Now())<=6;"[Meeting Date]>= #" & DateSerial(Year(Now());5;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());5;31) & "#";IIf(Month(Now())>=7 And Month(Now())<=9;"[Meeting Date]>= #" & DateSerial(Year(Now());8;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());8;31) & "#";"[Meeting Date]>= #" & DateSerial(Year(Now());11;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());11;31) & "#"))))
    

    第三个月:

    =DCount("[Meeting Date]";"[tblDPAR]";IIf(Month(Now())>=1 And Month(Now())<=3;"[Meeting Date]>= #" & DateSerial(Year(Now());3;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());3;31) & "#";IIf(Month(Now())>=4 And Month(Now())<=6;"[Meeting Date]>= #" & DateSerial(Year(Now());6;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());6;31) & "#";IIf(Month(Now())>=7 And Month(Now())<=9;"[Meeting Date]>= #" & DateSerial(Year(Now());9;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());9;31) & "#";"[Meeting Date]>= #" & DateSerial(Year(Now());12;1) & "# AND [Meeting Date]<= #" & DateSerial(Year(Now());12;31) & "#"))))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-13
      • 2019-08-12
      • 2019-06-03
      相关资源
      最近更新 更多