以下是来自Access 2010的子查询。我提示用户输入年份(yyyy)和月份(1-12),但由于某种原因,用户也会收到提示输入网站的提示。有人可以告诉我为什么吗?我不希望用户提示进入网站。
PARAMETERS [Enter Year (yyyy)] Text ( 255 ), [Enter Month (1-12)] Short;
SELECT Sum([AB Units]) AS [Monthly AB Units],
SELECT Count(*) FROM [New Referrals]
WHERE ((Year([New Referrals].[Date of Referral]) = [Enter Year (yyyy)])
AND (Month([New Referrals].[Date of Referral]) = [Enter Month (1-12)]))
AND ([New Referrals].[First Visit] Is Null)
AND (([New Referrals].Site)="2"))
AS Waitlist FROM [DNS]
WHERE (((Year([DNS].[Date of Entry]))=[Enter Year (yyyy)])
AND ((Month([DNS].[Date of Entry]))=[Enter Month (1-12)])
AND (([DNS].Site)="2"));
乔
答案 0 :(得分:1)
最有可能的是,名为Site的字段不在[New Referrals]或[DNS]中。检查两个表并确保其中存在该字段,因为查询中存在对该字段的引用。
如需进一步审核,请查看this article on the Microsoft website。
答案 1 :(得分:0)
就像@JohnnyBones一样,它很可能是一个名不副实的字段,但是说你确实有一个语法错误应该出现在你的SQL视图中:
您缺少与第一个WHERE子句一起使用的括号
此
WHERE (((Year([New Referrals].[Date of Referral])
应该是这样的:
{{1}}
一个好的文本编辑器(我使用Textpad)会显示匹配的括号 - 更重要的是哪些没有匹配