为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕勒3428872 2019-12-04 14:52:45
在某些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;
查看完整描述

3 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

从Jet 4开始,所有与汇总数据的SQL语句联接的查询都是不可更新的。您没有使用JOIN,但是WHERE子句与联接完全等效,因此,Jet查询优化器对待联接的方式与对待联接的方式相同。


恐怕如果没有临时表,您会很不走运,尽管也许有人比我更了解Jet SQL,但我想不出一种解决方法。


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


查看完整回答
反对 回复 2019-12-04
  • 3 回答
  • 0 关注
  • 683 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信