【问题标题】:MS ACCESS 2010 Syntax error (missing operator) in query expression in List Box列表框中的查询表达式中的 MS ACCESS 2010 语法错误(缺少运算符)
【发布时间】:2013-10-31 15:36:03
【问题描述】:

我在 MS Access 2010 中创建了一个列表框。我使用此查询仅显示列表框从中获取数据的列 (AOM) 中的不同值:

SELECT [Exhibit Recording].ReferenceNo, DISTINCT [Exhibit Recording].AOM
FROM [Exhibit Recording];

现在当我使用这个错误“查询表达式'DISTINCT [Exhibit Recording].AOM'中的语法错误(缺少运算符)”。不断弹出,但当我删除 DISTINCT 时消失。

有没有办法让列表框中的值不同而不会出现该错误?

我也尝试过使用:

SELECT DISTINCT [Exhibit Recording].AOM
FROM [Exhibit Recording];

查询运行良好,但列表框中的文本消失了,当您单击它时,它会显示一条暗带,表明已选择了某些内容。有什么办法解决这个问题?

【问题讨论】:

    标签: sql listbox distinct ms-access-2010


    【解决方案1】:

    正如您所发现的,Access SQL 不支持表单查询

    SELECT x, DISTINCT y FROM z
    

    如果您还没有这样做,请尝试

    SELECT DISTINCT [Exhibit Recording].ReferenceNo, [Exhibit Recording].AOM FROM [Exhibit Recording];
    

    (请注意,DISTINCT 紧跟在 SELECT 之后。Access SQL 支持跨整个查询的 DISTINCT,但不支持单个列。)

    如果这没有为您提供 [AOM] 的不同值并且您确实需要它们,那么您将不得不使用 GROUP BY 查询,该查询任意选择 [ReferenceNo] 与每个 [AOM] 值一起使用:

    SELECT First([Exhibit Recording].ReferenceNo), [Exhibit Recording].AOM FROM [Exhibit Recording] GROUP BY [Exhibit Recording].AOM;
    

    【讨论】:

    • 确定另一个查询:我正在尝试将此列表框中的项目添加到名为 AOM 的文本框中,用于数据输入目的,但不是 AOM 项目出现在文本框中,而是出现 ReferenceNo,而我想让 AOM 中的项目出现。请帮助我如何解决这个问题?我在 Control Source 中添加了 AOM 没有效果。
    • @Jamaluddin 我看到您为此提出了一个新问题。好的。无论如何,这就是我要建议的。
    猜你喜欢
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    相关资源
    最近更新 更多