2016-11-22 46 views
0

我幾個星期一直在反對這個問題,谷歌搜索了我能想到的問題的每一個排列,並且仍然沒有任何幫助,所以任何幫助將是真正的讚賞。微軟Access 2010輸入日期一次爲多個子報告

我需要什麼: 我需要生成一個報告,它從數據庫中提取我們推薦的摘要。我有使用下面的查詢作爲其記錄源兩份報告:

SELECT referrals.origin_country, Count(*) AS ['number'] 
FROM referrals 
WHERE (((referrals.referral_date) Between [Enter Start Date] And [Enter End Date:])) 
GROUP BY referrals.origin_country; 

而且

SELECT referrals.first_language, Count(*) AS ['number'] 
FROM referrals 
WHERE (((referrals.referral_date) Between [Enter Start Date:] And [Enter End Date:])) 
GROUP BY referrals.first_language; 

的查詢是幾乎相同的,而日期範圍是每一個相同的。 這些問題是,當我生成一個使用這兩個報告作爲子報告的報告時,我必須輸入子報告的日期範圍兩次(一次爲原產國子報告,一次爲第一語言子報告 我的訪問技能是不是先進的,因爲我想,我想知道是否有人能告訴我如何確保用戶只需要輸入一次的日期範圍? 我已經試過

  • 使用VBA創建一個變量onLoad,但然後不能找出如何在記錄源查詢中使用此變量...
  • 使用VBA創建一個函數,它設置變量onLoad,但然後無法解決如何使用F在我的記錄來源查詢...

任何建議將不勝感激!

+1

代替[輸入日期],使用一個小的形式。然後您將擁有Forms!SmallForm!StartDate等。請注意,如果您使用VBA格式,則應將日期格式設置爲年,月,日。 – Fionnuala

+1

您是否可以將日期值存儲到報告字段,然後在查詢中引用該字段?即將您的報告字段設置爲等於開始/結束參數,然後讓您的查詢引用該字段。 '...報告之間![第一語言子報告]!StartDate並報告![第一語言子報告]!EndDate'否則,小型表單解決方案就是要走的路。 – geeFlo

+0

所以,只是爲了澄清,使用輸入框來允許用戶輸入開始日期和結束日期,然後在子報表源查詢中調用這些輸入框,如下所示: 'SELECT referrals.first_language,Count(*)AS ['number '] FROM引用 WHERE(((referrals.referral_date))在[Reports]![First Language Subreport]![StartDate]和[Reports]![First Language Subreport]![EndDate])) GROUP BY referrals.first_language ;' 感謝您的諮詢! –

回答

0

創建一個表單,其中包含開始日期和結束日期的字段以及啓動主表單的按鈕。使用「嵌入式宏」嚮導打開選定的「點擊報告」。

然後,使用[表格] [表格名稱] [字段名稱]查詢訪問日期,例如:!

SELECT referrals.origin_country, Count(*) AS ['number'] 
FROM referrals 
WHERE (((referrals.referral_date) Between [Forms]![EAL Referral Search Form]![dat_termly_report_start] And [Forms]![EAL Referral Search Form]![dat_termly_report_end])) 
GROUP BY referrals.origin_country;