【问题标题】:Finding duplicate entries with Long Text data type in Access SQL在 Access SQL 中查找具有长文本数据类型的重复条目
【发布时间】:2023-04-04 06:05:01
【问题描述】:

我有一个查询,它在运行时返回以下错误消息: 子查询“field1”中的备注、OLE 或超链接对象无效

我的查询如下所示:

SELECT field1, field2, field3
FROM table1
WHERE (((table1.[field1]) In (SELECT [field1] FROM [table1] As Tmp GROUP BY [field1] HAVING Count(*)>1 )))
ORDER BY fie1dl1;

关于如何解决这个问题的任何想法?

谢谢!

【问题讨论】:

  • 尝试将 CStr 添加到 [field1] 值。按 Cstr([Field1]) 分组。
  • 请参阅@Cetin 的回答。对 CStr 值进行分组可能会将其截断为 255 个字符,我不知道这是否适用于您的情况。

标签: sql ms-access ms-access-2016


【解决方案1】:

(写作为答案只是因为作为评论它会一团糟 - 如果提供要求,可能是一个答案)

我不使用访问权限,但据我了解,不支持对长文本进行分组。 作为一种解决方法,如果您的长文本数据可以在其前 255 个字符中识别(访问支持短文本长度为 255?为了安全起见,假设为 250):

SELECT *
FROM table1
WHERE left([field1],250) In (SELECT left(field1,250) 
   FROM [table1] 
   GROUP BY left([field1],250) HAVING Count(*) > 1 )
ORDER BY field1;

PS:如果access有CheckSum计算函数,那么你可以用它来比较而不是Left(field1, 250)。

【讨论】:

    猜你喜欢
    • 2010-10-31
    • 1970-01-01
    • 2017-04-15
    • 2010-09-16
    • 2022-10-21
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2022-01-12
    相关资源
    最近更新 更多