2016-12-07 73 views
0

試圖在打開查詢以啓用輸入日期範圍(開始和結束)(dd-mm-yyyy)時顯示提示以提示提示,以便只有此數據纔會出現當查詢運行時返回。訪問交叉表中的日期範圍

目前坐在下面的代碼;

TRANSFORM Count(AlphaData.[Invoice]) AS CountOfInvoice 
SELECT AlphaData.[Reason], Count(AlphaData.[Invoice]) AS [Total Of Invoice] 
FROM AlphaData 
WHERE ((AlphaData.[DateRaised]) Between AlphaData.[DateRaised] And AlphaData.[DateRaised]) 
GROUP BY AlphaData.[Reason] 
PIVOT Format([DateRaised],"Short Date"); 

但不能爲我的生命得到圍繞「MS Access數據庫引擎無法識別‘Alphadata [DateRaised:]’作爲有效字段名或表達式」的問題。

查詢的「WHERE」部分在其他查詢中可以工作,但只要它在交叉表中應用時就可以使用。

有什麼建議嗎?

回答

1

這似乎有點混亂起來。如何:

PARAMETERS 
    [From Date:] DateTime, 
    [To Date:] DateTime; 
TRANSFORM 
    Count(*) AS CountOfInvoice 
SELECT 
    AlphaData.[Reason], 
    Sum(AlphaData.[Invoice]) AS [Total Of Invoice] 
FROM 
    AlphaData 
WHERE 
    AlphaData.[DateRaised] Between [From Date:] And [To Date:] 
GROUP BY 
    AlphaData.[Reason] 
PIVOT 
    Format([DateRaised],"Short Date"); 
+0

像以前一樣我的男人你是一個活着的傳說。這工作完美。另外,學到了一些東西,很好! – Nik

1

您需要的參數添加到查詢:

PARAMETERS [Start Date] DateTime, [End Date] DateTime; 
TRANSFORM Count(AlphaData.Invoice) AS CountOfInvoice 
SELECT AlphaData.Reason, Count(AlphaData.Invoice) AS [Total Of Invoice] 
FROM AlphaData 
WHERE (((AlphaData.DateRaised) Between [Start Date] And [End Date])) 
GROUP BY AlphaData.Reason 
PIVOT Format([DateRaised],"Short Date"); 

注:參數添加爲第一行,然後在Between語句中使用)。

如果你使用,你需要尋找的參數選項的圖形界面:
enter image description here

,並輸入參數對話框:
enter image description here

我並沒有意識到這一點會發生在交叉表中,因爲您只需鍵入參數以進行選擇查詢:

SELECT Invoice, Reason, DateRaised 
FROM AlphaData 
WHERE DateRaised=[Start Date]