繁体   English   中英

列表框中的查询表达式中的MS ACCESS 2010语法错误(缺少运算符)

[英]MS ACCESS 2010 Syntax error (missing operator) in query expression in List Box

我在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];

该查询运行正常,但是列表框中的文本消失了,当您单击它时,它会显示一个黑带,表明已选择了某些内容。 有什么解决办法吗?

您已经发现,Access SQL不支持以下形式的查询

SELECT x, DISTINCT y FROM z

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

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

(请注意,DISTINCT紧跟在SELECT之后。AccessSQL在整个查询中都支持DISTINCT,但不支持单个列。)

如果这不能为您提供[AOM]的不同值,而您确实需要它们,则必须使用GROUP BY查询,该查询可以随意选择[ReferenceNo]与每个[AOM]值一起使用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM