Office365版Access／Access2019「クエリが破損しています」回避方法

<font color="red">※2019/11/20　バージョン別の対処方法と最新状況を追記しました。</font>
<font color="red">※2019/11/22　C2R版とMSI版の見分け方を追記しました。</font>

[2019年11月のセキュリティ更新プログラム](https://msrc-blog.microsoft.com/2019/11/12/201911-security-updates/
)で問題が発生しています。
**Microsoft Access**で更新クエリを実行しようとすると**「クエリ "クエリ名" が破損しています」**というエラーを表示して異常終了する場合があるとのことです。

- Office2019 / Office365：Windows Updateの対象外
- Office2016：KB4484113
- Office2013：KB4484119
- Office2010：KB4484127

[Access error: "Query is corrupt"](https://support.office.com/en-us/article/access-error-query-is-corrupt-fad205a5-9fd4-49f1-be83-f21636caedec) によると、修正版の配布は、~~Access2019/Office365 が**11月24日頃**、それ以外のAccessエディションは**12月10日頃**とのこと~~。
<font color="red">⇒ 月次チャネルのOffice365版Access2016/2019(バージョン1910)は11/18付で修正版が出ているそうです。
更新オプションから「今すぐ更新」を実施し、修正版に更新されないようなら本稿の手順を実施されると良いと思います。</font>

本稿で対象としているのは、クイック実行形式（C2R版）です。
インストーラ形式（MSI版）のOfficeでは、Microsoft Updateで更新プログラムを適用（もしくは問題のあるKBを削除）することになります。
お使いのOfficeがどちらか分からなければ、製品情報を表示し、そこに【更新オプション】があるかどうかで判断できます。
【更新オプション】が無ければ、そのOfficeはMSI版です。

C2R版とMSI版では更新手順が違うので、[ブログ【Office365版Accessおよび、Access2019での『クエリ’’は破損しています』を回避する方法】](https://maru901.at.webry.info/201911/article_8.html)を参考にC2R版に対処したのでメモします。

# 環境
- Windows 10 Pro
- Office 365 Business

# 問題のあるバージョン
2019年11月12日に配布された、下記いずれかのバージョンで問題が発生します。

- バージョン 1910（ビルド`12130.20344`）月次チャネル
- バージョン 1908（ビルド`11929.20436`）半期チャネル 対象指定
- バージョン 1902（ビルド`11328.20468`）半期チャネル
- バージョン 1808（ビルド`10730.20416`）半期チャネル

[アカウント] から現在のバージョンとビルド番号を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236222/e97d9399-a51b-e360-5a63-14ee5115e21e.png)

Office365版AccessまたはAccess2019で上記いずれのバージョンでもなく、問題が発生していなければ対応不要。
必要に応じて、後述の手順で自動更新を無効にしておこう。

# 対処方法
対策用バッチスクリプトを作成してユーザに配布し、実行していただきました。
バージョン別に実行するバッチスクリプトが異なります。
すべてのバージョンで動作を確認したわけではないので、適用は自己責任でお願いします。

## バージョン1910 月次チャネルの場合
修正版が既に配信されています。更新オプションから「今すぐ更新」を実施して下さい。

## バージョン1908 半期チャネル対象指定の場合

```:rollback_1908.bat
@echo off
echo Office365版Access/Access2019（バージョン1908：半期チャネル対象指定）をリビジョンダウンします。
pause
"C:\Program files\Common Files\microsoft shared\ClickToRun\officec2rclient.exe" /update user updatetoversion=16.0.11929.20396
```

本バッチを実行すると、10月14日時点のビルド`11929.20396`に戻ります。

## バージョン1902 半期チャネルの場合

```:rollback_1902.bat
@echo off
echo Office365版Access/Access2019（バージョン1902：半期チャネル）をリビジョンダウンします。
pause
"C:\Program files\Common Files\microsoft shared\ClickToRun\officec2rclient.exe" /update user updatetoversion=16.0.11328.20438
```

本バッチを実行すると、10月8日時点のビルド`11328.20438`に戻ります。

## バージョン1808 半期チャネルの場合

```:rollback_1808.bat
@echo off
echo Office365版Access/Access2019（バージョン1808：半期チャネル）をリビジョンダウンします。
pause
"C:\Program files\Common Files\microsoft shared\ClickToRun\officec2rclient.exe" /update user updatetoversion=16.0.10730.20386
```

本バッチを実行すると、10月8日時点のビルド`10730.20386`に戻ります。

# リビジョンダウンの手順
## バッチファイルを右クリックし [管理者として実行] を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236222/665c8588-ef46-aeb3-07d6-f6c350abb0a2.png)

## 管理者パスワードを入力しダウンロード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236222/3afa4411-983a-fe57-dd9e-e122014ca9df.png)

## 完了メッセージを確認
ネットの環境にもよると思いますが、こちらは5分ほどで終わった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236222/e918614c-53d3-c73e-063e-d4cbddcb5bf3.png)

## 再度バージョンを確認
ビルド番号が小さくなっていたらOK。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236222/f7f07ccd-a570-69d7-7234-3caa22b85374.png)

## 自動更新を無効にする
修正パッチがマイクロソフトから配布され、その動作確認が取れるまでは無効にしておく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236222/2817b577-d267-cabf-24b8-efeb7cbd4ec6.png)

# さいごに
https://qiita.com/nasu_121/items/d2d0378ae0569170438f には大いに助けられました。ありがとうございます。

マイクロソフトさんには、しっかりテストして頂きたいものです。