2010-02-12 45 views
0

當查詢是這樣就沒有問題問題採用的形式引用時變換/透視查詢

這工作:

TRANSFORM Count(Aktivitet.ID) AS AntalförID 
SELECT Aktivitet.region, Sum(Aktivitet.antalMän) AS [Antal Män], Sum(Aktivitet.antalKvinnor) AS [Antal Kvinnor] 
FROM Aktivitet 
GROUP BY Aktivitet.region 
PIVOT Aktivitet.aktivitetstyp 

但是,當我加入這行我惹上麻煩:

WHERE Aktivitet.datum > Forms!Sök!aktivitetFrånDatum 

此不起作用:

TRANSFORM Count(Aktivitet.ID) AS AntalförID 
SELECT Aktivitet.region, Sum(Aktivitet.antalMän) AS [Antal Män], Sum(Aktivitet.antalKvinnor) AS [Antal Kvinnor] 
FROM Aktivitet 
WHERE Aktivitet.datum > Forms!Sök!aktivitetFrånDatum 
GROUP BY Aktivitet.region 
PIVOT Aktivitet.aktivitetstyp 

而我不知道爲什麼,Forms!Sök!aktivitetFrånDatum在簡單的SELECT查詢中工作得很好,如果我在TRANSFORM/PIVOT查詢中將Forms!Sök!aktivitetFrånDatum更改爲2000-01-01,它的工作原理如下。

我得到的錯誤是在瑞典,但它說:「這是無法識別表單索aktivitetFrånDatum爲有效字段名或表達式!」提前

謝謝!

+0

您不指定運行此SQL語句的上下文。如果它在代碼中,則需要在執行SQL字符串之前解析表單參考。 – 2010-02-12 19:12:35

回答

2

如果您想引用表單,則必須使用參數。

像這樣:

PARAMETERS Forms!Sök!aktivitetFrånDatum DateTime; 
TRANSFORM Count(Aktivitet.ID) AS AntalförID 
SELECT Aktivitet.region, Sum(Aktivitet.antalMän) AS [Antal Män], Sum(Aktivitet.antalKvinnor) AS [Antal Kvinnor] 
FROM Aktivitet 
WHERE Aktivitet.datum > Forms!Sök!aktivitetFrånDatum 
GROUP BY Aktivitet.region 
PIVOT Aktivitet.aktivitetstyp 

正如你所看到的,我在一個數據類型猜測:

PARAMETERS Forms!Sök!aktivitetFrånDatum DateTime; 
1

看一看

Handle parameters

參數請勿使用交叉表 查詢,除非你: a)聲明參數,或 b)指定列標題。

要聲明該參數,請在查詢菜單上選擇 參數。訪問 打開一個對話框。輸入名稱和 指定數據類型。