访问查询不允许编辑数据



我有一个跟踪呼叫中心和呼叫者之间通信的表。 它有许多字段和一个可以输入注释的备注字段。 我还有一个与客户端传输数据的自动化过程,如果进行了地址更新,它会添加一个通信说明,说明地址是什么,以及为什么更改地址。 我遇到的问题是我们从两个来源获取数据,很多时候这包括来自两个来源的相同人员。 通常,两个地址(街道与st(之间只有很小的差异,这会导致每个月创建多个记录。 负责此客户端的分析师有一个查询,用于查看存在多个更改的记录(特别是由自动人口普查创建的记录(,以便他们可以看到哪些是重复的,哪些是合法的。 我希望他们能够选中一个框或以某种方式标记要删除的记录。

问题是生成的查询不可编辑,因为帮助馈送它的查询使用 count 函数,因此它不一定是与表的一对一关系。 这是第一个查询:

SELECT tblCommunications.RecordID, Count(tblCommunications.RecordID) AS CountOfRecordID
FROM tblCommunications
WHERE (((tblCommunications.CallComments) Like "*Updated address via Census feed.*"))
GROUP BY tblCommunications.RecordID;

第二个查询对第一个查询执行LEFT JOIN,并仅显示CountofRecordID大于 4 的记录的表数据。 但是,无法编辑此最终列表,因此无法选中我添加的用于将其标记为删除的复选框。

有谁知道我如何做到这一点,或者对如何处理这个问题有更好的想法?

谢谢!

不要在LEFT JOIN中使用聚合查询,而是使用它作为WHERE条件的IN子句。然后,以下内容应该是可更新的。请注意,查询包括表别名,以避免重复长表名称。此外,还集成了HAVING子句。根据需要进行调整。

SELECT t.RecordID, t.CallDate, t.Analyst, t.CallComments  
FROM tblCommunications AS t
WHERE t.RecordID ID IN
(SELECT c.RecordID
FROM tblCommunications AS c
WHERE (((c.CallComments) LIKE "*Updated address via Census feed.*"))
GROUP BY c.RecordID
HAVING COUNT(c.RecordID) > 4)

最新更新