2016-07-06 53 views
2

我有一個一對多的關係2臺用於DCOUNT綁定文本框:的MS Access:與日期參數

人 - 應用

每當一個人符合標準,新紀錄是在應用程序中創建的,並且今天的日期已添加到字段App_OutAwardDate

我想添加一些類似於未綁定的文本框到人形式,將顯示,在選擇人的記錄時,在過去28天內已填充App_OutAwardDate的次數,有效計算應用程序的數量最後4周。

通過這種方式,工人在進步之前會受到警告,因爲他們目前可能沒有資格獲得進一步的獎勵。

我一直在使用以下,但它只是返回 '0':

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

Person表

Per_ID = primary key 

申請表

App_ID = Primary key 

App_PerID = Foreign key (for Person) 

App_OutAwardDate 

我有近零實驗計算字段,所以任何幫助感激地收到。

回答

1

DCount第三參數必須是WHERE有效的SQL字符串。

對於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]是指包含表單控件當前人員ID。它需要被連接,因爲如果它在字符串中,DCount不能解決這個問題。

0

謝謝你花時間看看。我嘗試了這個建議,但它返回了#Name ?.與此同時,我阻止了一名顧問,他回答:

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

再次感謝,我希望如果幫助別人也。