【问题标题】:Why am I getting “Enter Parameter Value” when running my MS Access query?为什么我在运行 MS Access 查询时收到“输入参数值”?
【发布时间】:2011-05-13 01:41:07
【问题描述】:
SELECT ID, 
       Name, 
       (SELECT CityName 
        FROM City 
        WHERE Employee.CityID = City.CityID) AS [City Name] 
FROM Employee 
WHERE [City Name] = "New York"

我要选择所有来纽约的员工,但每当我运行查询时,我总是会得到一个“输入参数值”框。我该如何解决这个问题?

【问题讨论】:

  • 您真的有一个名为 [CityName] 的列还是 [City Name]?

标签: sql ms-access select subquery


【解决方案1】:

这是因为 Access 不允许您在查询中使用字段别名 - 它无法将 [City Name] 识别为有效的字段名称。别名仅用作结果集中的字段名称。相反,您需要使用整个表达式。

因此,此查询在 Access 中可能更容易定义为:

SELECT ID, 
       Name, 
       CityName AS [City Name]
FROM Employee INNER JOIN City
    ON Employee.CityID=City.CityID
WHERE CityName = "New York"

此外,“名称”是保留字 - 不建议将其用作字段名称。

【讨论】:

  • 非常感谢您的帮助。我现在明白了:D
  • 我很高兴听到这个消息。干杯。
【解决方案2】:

如果您在查询结果中有任何手动排序或过滤器处于活动状态,则要检查的另一件事是在“主页”选项卡上。该选项卡上有一个按钮可以删除您在该字段的下拉菜单中找不到的排序。

【讨论】:

    【解决方案3】:

    检查您是否没有向“默认值”字段添加查询。

    【讨论】:

      【解决方案4】:

      尝试使用单引号而不是双引号。

      【讨论】:

      • 单引号不是 ms access sql 语法的一部分。
      【解决方案5】:

      刚刚发现有关此错误:“您的参数之一无效”。

      为了解决这个问题,我不得不将客户 ID 的数据类型从 Large number 更改为 number,因为它只包含几个数字。这解决了我的问题。

      【讨论】:

        猜你喜欢
        • 2019-04-02
        • 2019-08-17
        • 2021-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多