【发布时间】:2014-06-10 20:58:21
【问题描述】:
我正在使用 Access 2010。我有一个交叉表查询,我试图根据表单上文本框的值进行过滤。完整的SQL如下:
PARAMETERS Forms!SelectForm!Text27 DateTime;
TRANSFORM nz(Sum([Raw Contract Data].[Action Obligation]), 0) AS [SumOfAction Obligation]
SELECT [Raw Contract Data].[NAICS Code], [Raw Contract Data].[NAICS Description], Sum([Raw
Contract Data].[Action Obligation]) AS [Total Of Action Obligation], NZ(round(avg([SumOfAction
Obligation]),0),) AS [Average Obligation],
nz(round(stdev([SumOfAction Obligation]),0),0) AS [StDev of CTRs],
nz(round(var([SumOfAction Obligation]),0),0) AS [Variance of Obligations]
FROM [Raw Contract Data]
WHERE [Raw Contract Data].[Date Signed] <= Forms!SelectForm!Text27
GROUP BY [Raw Contract Data].[NAICS Code], [Raw Contract Data].[NAICS Description]
PIVOT format([Raw Contract Data].[Date Signed], "yyyy-mm");
问题是查询会运行,但会弹出一个框,询问文本 27 的值。它无法从表单中的值识别它。当我手动输入日期(没有前面的 PARAMETERS 声明)时,WHERE 子句将起作用,但是当我希望它引用文本字段的值时,我什么也得不到。
【问题讨论】:
标签: sql ms-access-2010 pivot crosstab