【问题标题】:"Enter Parameter Value" Prompt for Unreferenced Parameter未引用参数的“输入参数值”提示
【发布时间】:2015-07-08 15:55:19
【问题描述】:

在 MS Access 2007 中,我偶尔会遇到这个问题:查询将开始产生“输入参数值”提示——只有提示是针对我在 SQL 中未引用的字段。

示例(查询名称:qryOPI_ReportingLocation):

SELECT CODES.ReportingLocation, DateValue(OPI.EncDateTime) AS ApptDate, OPI.MedRec, OPI.AccessCode
FROM [OPI DATA] AS OPI LEFT JOIN [Access Codes] AS CODES ON OPI.AccessCode=CODES.Code
WHERE (IsNumeric(MedRec)) And (OPI.EncDateTime>=#10/1/2013#) AND (OPI.EncDateTime<#10/1/2014#);

提示:

为什么要求我提供此参数?如果我点击Cancel,查询将无法运行。如果我输入任何值(例如:bob),查询将正确运行。

到目前为止我的解决方案:

真正令人沮丧的是,如果我采用相同的 SQL,将其粘贴到新创建的查询中,它可以顺利运行。然后我删除旧查询并重命名新查询,直到下一次。

有没有更好的办法?

【问题讨论】:

    标签: sql ms-access ms-access-2007


    【解决方案1】:

    通常,每当我遇到这种情况时,查询中都会留下一个残余的Order By 字段。之前设置的东西和 SQL 被改变了,但它卡住了。

    将查询放入 SQL 视图中,然后在右侧的 Property Sheet 中删除 Order By 属性中的任何内容,错误应该会消失。

    第二个可能只是一个拼写错误的字段名称,但是因为这看起来像是使用Query Design 创建的,所以不太可能。

    【讨论】:

    • 正确!我希望我能再给你投票十次!我从来不知道Property Sheet 的存在,我从来没有使用过Query Design。我总是只在 SQL 中执行它们......但我确定发生的事情是我可能在表格视图中进行了一些排序,然后保存它,然后我的生活很痛苦。但是你救了我!谢谢。
    • @thornomad 我第一次遇到这个错误时也让我发疯。很高兴我能帮上忙。
    【解决方案2】:

    这通常是由拼写错误的字段名称引起的。如果您的字段名称拼写与查询或表定义中的拼写略有不同,Access 会将其视为参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多