2

我在一对多关系中有 2 个表:

人 - 申请

每当一个人符合条件时,就会在 Application 中创建一条新记录,并将今天的日期添加到 field App_OutAwardDate

我想在 Person 表单中添加一个未绑定的文本框之类的东西,在选择人员的记录时,它将显示App_OutAwardDate过去 28 天内填充的次数,有效地计算了过去 4 周内的申请数量。

通过这种方式,工人在进步之前被警告他们目前可能没有资格获得进一步的奖励。

我一直在使用以下内容,但它只返回“0”:

=DCount("App_PerID","Application","App_OutAwardDate" Between Date() And Date()-28)

人表

Per_ID = primary key

申请表

App_ID = Primary key

App_PerID = Foreign key (for Person)

App_OutAwardDate

我对计算领域的经验几乎为零,因此非常感谢您的帮助。

红色的

4

2 回答 2

1

的第三个参数DCount必须是有效的 SQL WHERE 字符串。

对于Between,日期的顺序必须正确(早晚之间)。

要仅检查日期,您可以使用

=DCount("App_PerID","Application","App_OutAwardDate Between Date()-28 And Date()")

要同时检查当前的人,你需要这样的东西:

=DCount("App_PerID","Application",
  "(App_OutAwardDate Between Date()-28 And Date()) AND
   App_PerID = " & [PerID])

[PerID]指的是包含当前 Person ID 的表单控件。它需要连接起来,因为如果 DCount 在字符串内,则无法解决此问题。

于 2016-07-06T11:52:06.147 回答
0

感谢您花时间查看。我尝试了这个建议,但它返回了 #Name?。与此同时,我路过一位路过的顾问,答案似乎是:

=DCount("*","Application","[App_PerID] = [Forms]![Frm_Person]![Per_ID] 和 [App_OutAwardDate] DateAdd( ""d"", -28, Date() ) 和 Date( )")

再次感谢,我希望这对其他人也有帮助。

于 2016-07-07T08:45:56.167 回答