访问2010为啥提示输入参数值
Posted
技术标签:
【中文标题】访问2010为啥提示输入参数值【英文标题】:Access 2010 why am I being prompted to enter parameter value访问2010为什么提示输入参数值 【发布时间】:2016-09-06 15:08:53 【问题描述】:这是我来自 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"));
乔
【问题讨论】:
由于某种原因无法发布我的查询代码。不断收到消息 - 提交评论时出错。 您引用[DNS].Site
和[New Referrals].Site
这正是DNS 中列的名称吗?如果您拼写错误的列(即无法在引用的表中找到查询中的列),则会将其视为参数。
此查询也不能按原样工作。我假设您在[Monthly AB Units],
之后缺少(
【参考方案1】:
很可能名为 Site 的字段不在 [New Referrals] 或 [DNS] 中。检查两个表并确保其中存在该字段,因为您的查询中有对该字段的引用。
如需进一步审核,请查看this article on the Microsoft website。
【讨论】:
【参考方案2】:就像@JohnnyBones 暗示它很可能是一个错误命名的字段,但是说你确实有一个应该出现在你的 SQL 视图中的语法错误:
您缺少与第一个 WHERE 子句一起使用的括号
这个
WHERE ((Year([New Referrals].[Date of Referral])
应该是这样的:
WHERE (((Year([New Referrals].[Date of Referral])
一个好的文本编辑器(我使用 Textpad)会显示匹配的括号 - 更重要的是哪些不匹配
【讨论】:
以上是关于访问2010为啥提示输入参数值的主要内容,如果未能解决你的问题,请参考以下文章