KB4484127 更新导致ACCESS数据库查询报 Query '' is corrupt 异常解决方案

今天早上被一阵电话吵醒了,客户反馈昨天运行的好好的程序今天突然爆出异常。远程查看后发现昨天夜里微软推送了KB4484127更新,推送更新后导致所有update操作无法正常运行,提示Query is corrupt。目前解决官方给出的解决方案就是一坨屎。所以目前最好的方案就是卸载KB4484127更新等待微软进一步推送新的更新。

2019/11/28更新

==========

微软已经发布了补丁解决这个问题

Version

Broken Build

Fixed Build

Release Date

Official link to fix issue

Access 2010 MSI

7241.5000

7241.5001

November 27, 2019 

KB2986256 

Access 2013 MSI

5189.1000

5189.1002

November 27, 2019

KB2965317

Access 2013 C2R

5189.1000

5197.1000

December 10, 2019

Use File/Account/
UpdateOptions/UpdateNow
within an Office application

Access 2016 MSI

4927.1000

4927.1002

November 18, 2019

KB4484198

==========

附上微软给的修复方法:

This will occur for an Update query that:

  • Updates a single table (i.e. it updates a table, rather than the output of a Select query, or join

  • Specifies a WHERE clause (i.e. has entries in the Criteria row in the query designer)

This issue impacts all supported builds of Access.

STATUS: FIXED

This issue will be fixed for all versions:

Version

Build

Release Date

Access 2010

7242.5000

December 10, 2019

Access 2013

5197.1000

December 10, 2019

Access 2016 MSI

4939.1000

December 10, 2019

Access 2019 Volume License

10352.20054

December 10, 2019

Access O365/2019 (Version 1911)

12228.20152

November 24, 2019 (estimated)

If you encounter this issue before the fix is available, the recommended workaround is to update the query so that it updates the results of another query, rather than updating a table directly.

For example, if you have a query similar to:

UPDATE Table1 SET Table1.Field1 = "x" WHERE ([Table1].[Field2]=1);

You can create a new query (Query1) defined as:

SELECT * from Table1;

And update your original query to:

UPDATE Query1 SET Query1.Field1 = "x" WHERE ([Query1].[Field2]=1);

By replacing all references to Table1 with Query1

 

This will produce the same results, but avoid the error.

 

大概意思就是在应用了更新以后,会导致单表的Update(必须带where条件的)查询会出现错误,我这边测试的确如此。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值