2022年02月07日現在、Accessのバージョン2201(ビルド番号:14827.20158)において、急にエラーが発生するような現象が発生しているようです。
どうやらMicrosoftの更新にAccessの不具合が入っているようで、これまで問題なく動いていたAccessが急に動かなくなる、といった現象がちらほらTwitter等でも流れています。
たまーにこのようなことをMicrosoftはやらかすため、利用者側は困ったものですね・・・。
そこでこの記事では、Accessバージョン2201でエラーが出る場合の対応方法についてまとめました。
Microsoft側で本現象に関するパッチが出るまでは、本記事でご紹介する暫定対応でしのいでみましょう。
ビルド番号:14827.20192がリリースされたようで、こちらを適用すると本現象が発生しなくなるようです。
hr16de様、情報共有ありがとうございます。
Accessバージョン2201で発生する不具合について
Accessバージョン2201(ビルド番号:14827.20158)では、主に次のような現象が発生しているようです。急に本現象が発生したような場合は、Officeの自動更新がかかり、バージョンが2201になったためだと考えられます。
- Accessを閉じた際にエラーメッセージが表示される(ロックファイルが残ってしまい起動できなくなる)
- 「エラー3048:これ以上データベースを開くことができません」というメッセージが表示される
Accessを閉じた際にエラーメッセージが表示される
Accessを閉じた際に「ほかの人が使用中です」のようなエラーが表示されるようになります。
特にネットワーク越しでAccessファイルを参照しているようなシステムで発生することが多いようで、自分しかAccessを使っていないのに・・というケースでも発生します。
これが原因で、再度Accessファイルを開こうとしても何も反応せずに開かない、という現象も発生します。
原因はロックファイル(.laccdb)が消えずに残ってしまう、という現象が発生しているためです。
じゃあロックファイルを削除すればいい!と思うのですが、削除しようとするとシステム側でファイルをつかんだままになっているのか、単純には削除できない状態となっています。
「エラー3048:これ以上データベースを開くことができません」というメッセージが表示される
こちらは今まで何も問題なく動いていた処理において、急に「エラー3048:これ以上データベースを開くことができません」というメッセージが表示されるというような現象です。
このメッセージ自体はレコードセットの閉じ忘れなどで発生するエラーなので、Accessシステム内に潜在的に閉じ忘れのバグがあったのかな?と想像してまいがちですが、今回のケースでいうとバージョン2201による不具合で発生しているようです。
ソースを調べても何も解決せず、時間だけを無駄に消費してしまう状況になってしまいます。
Accessバージョン2201で発生する不具合の対応方法
Accessバージョン(ビルド番号:14827.20158)の不具合を解消するにはMicrosoftのパッチ適用を待つのが一番ですが、それまではエラーが発生し続けることになるので、何とかしたいところです。
そこで暫定対応としては、次の2つの方法があるかと思います。
- ロックファイルを都度削除する
- Accessのバージョンを前に戻す
ロックファイルを都度削除する
「エラー3048:これ以上データベースを開くことができません」というメッセージが表示されずにロックファイルだけ残る現象が発生しているような場合、エラーを無視してロックファイルを消す、というのが一番簡単な暫定対応方法になります。
まず、画面右下の時刻部分をクリックし、タスクマネージャーを表示します。
次に、プロセスタブの中から「Microsoft Access」を探します。
Accessファイルを閉じているにも関わらずプロセスが残っているため、ロックファイルが削除できなくなっているため、このプロセスを強制終了させます。
操作は簡単で、Microsoft Accessをクリックし、「タスクを終了」ボタンをクリックするだけです。
プロセスの一覧から「Microsoft Access」が消えたことを確認したら、対象のAccessシステムのフォルダを開き、ロックファイル(.laccdb)を削除します。
これで、Accessシステムを再度起動できるようになります。(ロックファイルは消さなくてもプロセスを終了するだけで起動はできるようになる可能性もあります)
ただ、Accessシステムを開いて閉じたときはロックファイルは残りますので、都度、プロセスからAccessを消す、という作業が必要となります。
Accessのバージョンを前に戻す
もう一つの方法は、Accessのバージョンを1つ前に戻す、という方法です。
ビルド番号:14827.20158で不具合が出ているので、不具合が出ていないバージョンに戻すということですね。
Accessのバージョン戻しについては、以下サイトが一番参考になるため、これを見れば戻すことができます。
参考URL:https://hamachan.info/office2019-version-return/
ここでは、少しハマりそうなポイントのみ解説します。
戻すビルド番号に注意
バージョンの戻しにあったっては「どのビルド番号に戻すか」の確認が必要となります。ビルド番号については以下サイトから確認することができます。
https://docs.microsoft.com/ja-jp/officeupdates/update-history-microsoft365-apps-by-date
ここで注意なのが、「サポートされているバージョン」ではなく「バージョン履歴」からビルド番号を確認するという点です。
上記Microsoftのサイトを見ると、次のようにサポートされているバージョンがまず表示されています。
最新のビルド番号が14827.20158となっているので、その下の14701.20290にすればいいのか!と早とちりしてはいけません。
ここではなく、確認するのはバージョン履歴の部分です。
よって、ひとつ前のビルド番号は、14729.20260ということが確認できました。
間違って「サポートされているバージョン」のほうのビルド番号(14701.20290)でconfig.xmlを作ってsetup.exeを実行してしまうと、Officeの「今すぐ更新」を行った際にエラーとなりますので注意しましょう。
Officeの修復は行わないほうがいいかも
上記に関連してビルド番号が間違った状態でOfficeの「今すぐ更新」を行うとエラーとなって更新できないのですが、表示されるダイアログ内のリンクをクリックすると、
- 再起動後に再度「今すぐ更新」を試してみる
- 修復をしてみる
といった内容が記載されています。
そこでこれに沿ってOffice自体の修復を行ってしまうと・・・アクティベーション情報が消えてしまうという現象が発生することが確認できました。
修復を行っただけなのになぜアクティベーション情報が消えるのかは不明ですが、実際行ってみたところ消える現象が発生しました(※ここはあやふやで、もしかすると発生しないかもしれません)。
そのため、もし修復作業をしたいような場合、再設定できるように事前にアクティベーションキーの情報をどこに保管していたか、または番号が何か、を確認しておくといいでしょう。
※オンライン修復を行っても、どうやらバージョン2201で発生する不具合は消えないようでした。
ビルド番号:14827.20158で発生する不具合まとめ
Accessバージョン2201(ビルド番号:14827.20158)における不具合内容と、暫定対応方法についてご紹介しました。
急にAccessがおかしくなった、というケースはこれが原因で発生していることが考えられますので、まずは該当するか調査してみましょう。
それにしても、このような不具合は困りものですね。