【Access】「認識できないデータベース形式です」が出たときの原因と復旧手順

「認識できないデータベース形式です。」というエラーが出て、Microsoft Accessのファイルが突然開けなくなると、業務が止まり焦ってしまいます。エラーコード3343などが表示される場合、.mdb / .accdbファイルが破損している可能性があります。
ただし、操作の順番を間違えると、救出できたはずのデータまで失うことがあります。この記事では、IT専門ではない方でも試しやすい順番で、Accessデータベースの復旧手順を解説します。
1. Accessデータベースが破損する主な原因
Accessファイルが破損する原因は、主に次の4つです。
- Wi-Fi運用中の瞬断
ネットワーク上のAccessファイルをWi-Fi経由で開いていると、わずかな通信切断でも破損につながることがあります。 - AccessやWindowsの強制終了
フリーズ、電源断、強制再起動などで、保存処理の途中にファイルが壊れることがあります。 - Accessファイルの2GB上限
.mdb / .accdbファイルは最大2GBです。上限付近まで肥大化すると、エラーや破損が起きやすくなります。 - Office更新やAccessの不具合
Officeの更新直後や、特定バージョンの不具合が原因で開けなくなるケースもあります。
2. 復旧前の鉄則
【最重要】オリジナルファイルは絶対に直接操作しないでください。
まず、破損した可能性がある.mdb / .accdbファイルを別の場所へコピーしてください。そのコピーを使って復旧作業を行います。元ファイルに対して修復、変換、インポートなどを繰り返すと、状態が悪化して復旧が難しくなることがあります。
コピー先は、元ファイルと別のフォルダ、別ドライブ、または外付けストレージが安全です。ファイル名も「案件名_破損時コピー_20260703.accdb」のように分かる形に変更しておきましょう。
3. Accessデータベースの復旧手順

以下の手順は、上から順番に試してください。途中で正常に開けるようになった場合は、その時点で新しい名前を付けて保存し、バックアップを作成してください。
手順①:Access単体起動から「データベースの最適化/修復」を実行する
まずは、Access標準の修復機能を試します。破損が軽度であれば、この方法だけで復旧できることがあります。
- Accessで破損ファイルをダブルクリックして開くのではなく、先にMicrosoft Accessだけを起動します。
- Accessのメニューから[ファイル]→[開く]→[参照]を選びます。
- 復旧作業用にコピーしたファイルを選択します。
- [開く]ボタンの右側にある▼をクリックします。
- [開いて修復]または[データベースの最適化/修復]を実行します。
Accessのバージョンによって表示名は少し異なります。修復後に開けた場合は、必ず別名で保存してください。
手順②:新規の空データベースへオブジェクトをインポートする
元ファイル全体は開けなくても、テーブル、クエリ、フォームなどの一部オブジェクトは読み込める場合があります。新しい空のデータベースへ移せるか試します。
- Accessを起動し、空のデータベースを新規作成します。
- メニューから[外部データ]→[新しいデータソース]→[データベースから]→[Access]を選びます。
- 復旧作業用にコピーした破損ファイルを指定します。
- [テーブル、クエリ、フォーム、レポート、マクロ、モジュールを現在のデータベースにインポートする]を選択します。
- まずは重要なテーブルから選択し、インポートを実行します。
一度にすべてを移そうとせず、重要なテーブルから少しずつ試すのが安全です。特定のテーブルやフォームだけでエラーになる場合、そのオブジェクトが破損箇所である可能性があります。
手順③:Windowsの「以前のバージョン」から復元する
Windowsのバックアップ、ファイル履歴、復元ポイント、サーバー側のスナップショットが有効なら、破損前の状態に戻せる場合があります。
- 破損したAccessファイルを右クリックします。
- [プロパティ]を開きます。
- [以前のバージョン]タブを確認します。
- 破損前と思われる日時のバージョンがあれば、まず[開く]または[コピー]で内容を確認します。
- 問題がなければ、別名で保存して利用します。
注意:[復元]を押すと現在のファイルが上書きされる場合があります。最初は[コピー]を選び、別の場所へ取り出して確認してください。
手順④:VBAコードで強制修復を試す
標準の修復機能で改善しない場合は、VBAのDBEngine.CompactDatabaseを使い、別ファイルとして最適化コピーを作成する方法があります。
この手順は操作に不安がある場合、無理に実行しないでください。必ず破損ファイルのコピーを対象にします。
- Accessで新しい空のデータベースを作成します。
- [作成]→[Visual Basic]を開きます。
- 標準モジュールを追加し、以下のコードを貼り付けます。
sourcePathとtargetPathを実際のファイルパスに変更します。- カーソルをプロシージャ内に置き、F5キーで実行します。
Public Sub RepairAccessDatabase()
Dim sourcePath As String
Dim targetPath As String
sourcePath = "C:\Work\BrokenCopy.accdb"
targetPath = "C:\Work\Recovered.accdb"
DBEngine.CompactDatabase sourcePath, targetPath
MsgBox "処理が完了しました。Recovered.accdbを確認してください。"
End Sub
注意:出力先のRecovered.accdbがすでに存在するとエラーになることがあります。出力先には存在しない新しいファイル名を指定してください。また、暗号化、パスワード設定、深刻な物理破損があるファイルでは実行できない場合があります。
4. 自力で直らない場合は専門業者へ相談する
ここまでの手順で開けない場合、ファイル内部の構造が深く破損している可能性があります。この状態で市販の修復ソフトを何度も試すと、データ領域が上書きされ、復旧率が下がることがあります。
特に、売上データ、顧客情報、在庫情報、業務履歴など、失うと影響が大きいデータであれば、追加操作を止めて専門業者へ相談する判断が安全です。
Accessデータ復旧のご相談はこちら
「開けない」「修復エラーが出る」「テーブルだけでも取り出したい」といった状況をお知らせください。元ファイルを直接操作せず、まずはコピーを保管した状態でご相談ください。
5. Access破損を防ぐための予防策

フロント・バックエンドを分割する
テーブルを保存するバックエンドファイルと、フォーム・クエリ・レポートなどを置くフロントエンドファイルを分けます。各利用者はフロントエンドをローカルPCに置き、共有フォルダ上のバックエンドへ接続する構成が基本です。
Wi-Fi経由での運用を避ける
Accessはファイル単位でデータを読み書きします。Wi-Fiの一瞬の切断でも破損する可能性があるため、共有フォルダ上のAccessを利用する場合は有線LANを基本にしてください。
自動バックアップを運用する
毎日、または業務終了後にAccessファイルを自動コピーする仕組みを作ります。バックアップは1世代だけでなく、日付ごとに複数世代を残すと、破損に気付くまで時間がかかった場合にも対応しやすくなります。
まとめ
Accessファイルが開けなくなった場合は、まず「認識できないデータベース形式です。」などのエラー内容を確認し、慌てて元ファイルを操作しないことが重要です。
- 最初に破損ファイルのコピーを作る
- Access標準の最適化/修復を試す
- 新規データベースへのインポートを試す
- 以前のバージョンやバックアップを確認する
- 必要に応じてVBAによる修復を試す
- 重要データなら無理に操作を続けず専門業者へ相談する
最も大切なのは、オリジナルファイルを守ることです。復旧作業は必ずコピーに対して行い、元ファイルはそのまま保管してください。


