且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2023-02-14 22:16:42

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

Since Jet 4, all queries that have a join to a SQL statement that summarizes data will be non-updatable. You aren't using a JOIN, but the WHERE clause is exactly equivalent to a join, and thus, the Jet query optimizer treats it the same way it treats a join.

如果没有临时表,恐怕您会走运,尽管也许有人比我更了解 Jet SQL 可以想出解决方法.

I'm afraid you're out of luck without a temp table, though maybe somebody with greater Jet SQL knowledge than I can come up with a workaround.

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

BTW, it might have been updatable in Jet 3.5 (Access 97), as a whole lot of queries were updatable then that became non-updatable when upgraded to Jet 4.

--