为什么运行MS Access查询时会出现“输入参数值”?

时间:2010-11-20 12:10:28

标签: sql ms-access select subquery

SELECT ID, 
       Name, 
       (SELECT CityName 
        FROM City 
        WHERE Employee.CityID = City.CityID) AS [City Name] 
FROM Employee 
WHERE [City Name] = "New York"

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

5 个答案:

答案 0 :(得分:8)

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

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

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

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

答案 1 :(得分:0)

如果要对查询结果进行任何手动排序或过滤,则需要检查“主页”选项卡。该选项卡上有一个按钮,用于删除您在该字段的下拉菜单中找不到的排序。

答案 2 :(得分:0)

检查是否尚未向“默认值”字段添加查询。

答案 3 :(得分:-1)

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

答案 4 :(得分:-1)

刚刚发现这个错误:“你的一个参数无效”。

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