Accessで「クエリが破損」エラー ロールバックバッチ

Accessはいつか覚えたいと思いつつ、一向に実現しないものの一つです。ただ、VBAとSQLはなんとなくわかるので、メンテナンスくらいはできます。

それで、標記のエラーが発生しヘルプに呼ばれたのですが、再起動で戻らないし、破損であればバックアップから戻すのが定石かな、と思って軽くぐぐってみると、すぐにOfficeのアップデートが原因とわかりました。

通常のOfficeであれば、WindowsUpdateの該当KBをアンインストールすればすぐに解決なのですが、Office365版の場合は「ロールバック」になるそうで、「管理者権限でこのコマンドを実行して」と言っても難しそうなのでバッチを作りました。

バッチファイルの中で管理者権限をチェックしていますので、そのまま実行してかまいません。ロールバックの対象は、とりあえず直前のビルド12130.20272にしてありますが、うまくいかない場合は別のビルドに修正してください。

@ECHO OFF
OPENFILES > NUL 2>&1
IF NOT %ERRORLEVEL% EQU 0 GOTO GOADMIN

REM I’m Admin
CD “%programfiles%\Common Files\Microsoft Shared\ClickToRun”
OfficeC2RClient.exe /update user updatetoversion=16.0.12130.20272
GOTO :EOF

:GOADMIN
REM Not Admin
powershell start-process %0 -verb runas