感谢2019年11月的Microsoft更新,使用where子句现在生成错误,查询''损坏的Access表更新查询。
有关详细信息,请参见Access error: "Query is corrupt"。
对于我的用户,无法等待将近一个月直到12月10日的修复版本。如相关(非重复)堆栈溢出链接Getting Error 3340 Query ' ' is corrupt while executing queries DoCmd.RunSQL
中所建议的那样,也不能跨政府控制的工作站卸载有问题的Microsoft更新。我将需要采取一种变通办法,但微软对建议的内容并不感到十分激动-为每个表创建和替换查询。
以下方法有效,不需要创建和保存大量其他查询。
UPDATE Table1 SET Field1 = "x" WHERE (Field2=1); 'Generates error
UPDATE (SELECT * FROM Table1) SET Field1 = "x" WHERE (Field2=1); 'No error
在多个数据库和应用程序中实现起来应该容易得多(以后回滚)。如果有更简单,更好的解决方案,请告诉我。