在Access 2003中,当且仅当PK上有过滤器并且加入了子查询时,备忘录字段才出现问题

时间:2020-03-06 14:44:39  来源:igfitidea点击:

我在Acess 2003(SP3)中的查询中遇到问题。

我有一个包含一些表和一个子查询的查询。子查询和表都连接到主表。该查询使用一些聚合函数,并且有一个HAVING子句可以过滤主键(PK)上的结果。

在这种情况下,主表的备注字段无法正确显示。显示两个从不相同的垃圾字符,而不显示该字段的内容。

现在很奇怪的是,如果我删除了HAVING子句,或者如果我使用它来过滤除PK之外的其他内容,则该字段将正确显示。如果我从查询中删除了子查询,即使PK上仍然有一个过滤器(HAVING子句),该字段也将正确显示。

这是Access中的错误吗(我认为是)?如果是这样,有人知道此错误的解决方法吗?

解决方案

在GROUP BY查询中,MSAccess备注字段被截断为255个字符(在Access 2000之前根本无法使用)。但是,要解决明显的错误,请尝试以下操作:

代替MemoField使用Left([MemoField,255)