gpt4 book ai didi

ms-access - 操作必须使用可更新的查询。 (错误 3073)Microsoft Access

转载 作者:行者123 更新时间:2023-12-03 11:47:09 31 4
gpt4 key购买 nike

在某些 Microsoft Access 查询中,我收到以下消息:操作必须使用可更新的查询。 (错误 3073)。我通过使用临时表来解决它,但我想知道是否有更好的方法。所有涉及的表都有一个主键。这是代码:

UPDATE CLOG SET CLOG.NEXTDUE = (
SELECT H1.paidthru
FROM CTRHIST as H1
WHERE H1.ACCT = clog.ACCT AND
H1.SEQNO = (
SELECT MAX(SEQNO)
FROM CTRHIST
WHERE CTRHIST.ACCT = Clog.ACCT AND
CTRHIST.AMTPAID > 0 AND
CTRHIST.DATEPAID < CLOG.UPDATED_ON
)
)
WHERE CLOG.NEXTDUE IS NULL;

最佳答案

从 Jet 4 开始,所有连接到汇总数据的 SQL 语句的查询都将是不可更新的。您没有使用 JOIN,但 WHERE 子句完全等同于连接,因此,Jet 查询优化器以与处理连接相同的方式处理它。

恐怕没有临时表你就不走运了,尽管也许有人比我更了解 Jet SQL 可以想出一个解决方法。

顺便说一句,它可能在 Jet 3.5(Access 97)中是可更新的,因为很多查询都是可更新的,然后在升级到 Jet 4 时变得不可更新。

——

关于ms-access - 操作必须使用可更新的查询。 (错误 3073)Microsoft Access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/170578/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com