Accessのmdbファイルとは?開き方・対応バージョン・現在も使えるのかを解説

概要

この記事の結論
mdbは、Access 2007でaccdbが登場する前から使われてきたMicrosoft Accessのデータベースファイル形式です。1つのmdbの中に、テーブルだけでなくクエリ、フォーム、レポート、マクロ、VBAモジュールなどを保存できます。現在のAccessでもAccess 2000形式やAccess 2002-2003形式のmdbは通常利用できますが、Access 2.0や95など、さらに古い形式では中間バージョンを使った移行が必要になる場合があります。古いmdbを見つけても、まずはバックアップし、中身と依存関係を確認してから利用・変換を判断しましょう。

この記事でわかること

  • mdbファイルとは何か、どのAccess世代で使われてきたか
  • 1つのmdbの中にテーブル・フォーム・VBAなど何が保存されているか
  • Access 2000、2002-2003、95などmdb形式の世代の違い
  • Microsoft 365版AccessやAccess 2024でmdbを開くときの確認ポイント
  • mdbをそのまま使うケースとaccdbへ変換した方がよいケース
  • mdbが開けないときに確認したいVBA・OCX・参照設定・32bit/64bit等の原因
  • 古いAccessを安全に調査・移行する手順

この記事の主な内容

1.Accessのmdbファイルとは?まず30秒で理解しよう
2.mdbファイルの中には何が入っている?Accessの仕組みを解説
3.mdbには複数のバージョンがある|現在のAccessで開ける形式は?
4.mdbファイルを現在のAccessで開く方法と確認ポイント
5.mdbはそのまま使える?accdbへ変換した方がよいケース
6.mdbファイルが開けない・動かない原因と古いAccessの移行方法

7.まとめ|mdbは「古いから変換」ではなく中身を確認して判断する
8.よくある質問(FAQ)

想定読了時間:約12~15分


1. Accessのmdbファイルとは?まず30秒で理解しよう

mdbは、Microsoft Accessで使用されてきたデータベースファイルの拡張子です。Access 2007で現在の標準形式であるaccdbが導入される以前は、Accessのデータベースは主に.mdb形式で保存されていました。

「mdb=データだけが入ったファイル」と考えられがちですが、Accessではデータを保存するテーブルだけでなく、検索や集計を行うクエリ、入力画面となるフォーム、帳票を作るレポート、マクロやVBAなどの処理も同じファイルへ保存できます。

一文で定義するとmdbとは、主にAccess 2003以前で標準的に利用されていた、Accessのデータ・画面・処理をまとめて保存できるデータベースファイル形式です。
Access mdbファイルがデータベース・画面・処理をまとめて保存する旧ファイル形式であることを示す図

mdbは「旧形式」だが、今も利用できるものがある

mdbは旧形式ですが、拡張子が古いという理由だけで現在のAccessから一律に利用できないわけではありません。Microsoftは、Access 2000形式とAccess 2002-2003形式のmdbについて、現在のAccessでも開いて通常どおり利用できると案内しています。

一方で、Access 2.0やAccess 95などさらに古いmdbは扱いが異なります。そのため、社内で古いmdbを見つけた場合は、ファイル名や作成年だけで判断せず、どの形式で作られたデータベースなのかを確認することが重要です。


2. mdbファイルの中には何が入っている?Accessの仕組みを解説

Accessの特徴は、データベースと業務画面・処理を1つのファイルにまとめられることです。mdbファイルも同様で、実際のデータだけでなく、利用者が操作するフォームや帳票、処理ロジックまで含んでいる場合があります。

Access mdbファイル内のテーブル・クエリ・フォーム・レポート・マクロ・VBAの構成
Accessオブジェクト役割mdb内での例
テーブルデータを保存する顧客、商品、受注、社員など
クエリ抽出・集計・更新する顧客検索、売上集計、更新処理
フォーム入力・検索画面を作る顧客登録、受注入力、検索画面
レポート帳票・印刷物を作る請求書、一覧表、集計帳票
マクロ操作を自動化する画面を開く、クエリ実行、帳票出力
VBAモジュール複雑な処理を記述する入力チェック、共通処理、外部連携

「mdbを移す」だけでは業務移行が終わらない場合がある

例えば顧客管理.mdbを別のPCへコピーすると、ファイル自体は移動できます。しかし、そのmdbが外部ExcelやCSV、別のAccessファイル、SQL Server、特定フォルダの画像などを参照している場合、コピーだけでは正常に動作しないことがあります。

さらに、VBAからWindows APIや外部DLLを利用していたり、古いActiveXやOCXがフォームへ配置されていたりすると、新しいPCや64bit版Officeでエラーになる場合があります。mdbは「1ファイルだから単純」とは限らない点を理解しておきましょう。

フロントエンドとバックエンドに分割されているmdbもある

複数人でAccessを利用するシステムでは、画面やVBAを持つフロントエンドと、テーブルだけを持つバックエンドへファイルを分割する構成があります。その場合、手元のmdbだけを確認してもデータ本体が別ファイルにある可能性があります。

既存mdbを調査するときのポイント
ナビゲーションウィンドウにテーブルが見えていても、それが実テーブルではなく「リンクテーブル」の場合があります。リンク先のmdb・accdb・SQL Server等も確認して初めて、システム全体の構成を把握できます。

3. mdbには複数のバージョンがある|現在のAccessで開ける形式は?

拡張子が同じ.mdbでも、Accessの世代によってファイル形式は異なります。特に古いシステムを引き継ぐ場合は、「mdbだからAccess 2003形式」と決めつけないことが重要です。

Access 2000・2002-2003・97・95など同じmdbに複数世代があることを示す図
主な世代拡張子現在のAccessでの扱い実務上の注意
Access 2000形式.mdb開いて通常利用可能新機能はaccdbほど利用できない
Access 2002-2003形式.mdb開いて通常利用可能Access 2003以前との共有用途にも使われる
Access 97形式.mdb環境・移行手順に注意accdb変換前に旧Accessを介する場合がある
Access 95形式.mdb直接利用は難しい旧Accessを介して中間形式へ変換が必要な場合
Access 2.0形式.mdb直接利用は難しいAccess 2007等を介した移行手順が必要な場合

現在のAccessで扱いやすいのはAccess 2000/2002-2003形式

Microsoftの現行案内では、Access 2000形式とAccess 2002-2003形式のmdbは、Microsoft 365版AccessやAccess 2024などの現在のAccessで開いて通常利用できます。もちろん、accdb専用機能は利用できませんが、mdbという理由だけで即座に変換が必要になるわけではありません。

Microsoft 365版AccessでAccess 2000・2002-2003形式のmdbを利用できることを示す図

Access 2.0やAccess 95は移行手順が異なる

さらに古いAccess 2.0やAccess 95のmdbは、現在のAccessへ直接すべてのオブジェクトを移せるとは限りません。Microsoftは、VBAを含むフォーム・レポート・モジュールを移す場合、Access 2000または2002-2003形式へ一度変換し、その後accdbへ移行する手順を案内しています。

つまり、「今のAccessでダブルクリックして開けない=ファイルが壊れている」とは限りません。単純にファイル形式が古すぎる可能性もあります。


4. mdbファイルを現在のAccessで開く方法と確認ポイント

古いmdbを見つけた場合は、最初に原本をバックアップし、コピーしたファイルで確認するのが安全です。特に業務で現在も使っているmdbは、いきなり「保存」や「変換」を行わず、まず現状を把握します。

古いmdbを見つけた場合は、最初に原本をバックアップし、コピーしたファイルで確認するのが安全です。特に業務で現在も使っているmdbは、いきなり「保存」や「変換」を行わず、まず現状を把握します。

具体的には下記の流れで確認頂けます。

STEP作業確認ポイント
1原本mdbをバックアップ日時付きでコピーし、元ファイルは変更しない
2現在のAccessを起動Microsoft 365 / Access 2024等で確認
3[ファイル]→[開く]からmdbを指定セキュリティ警告や変換メッセージを確認
4ナビゲーションウィンドウを確認テーブル・クエリ・フォーム等の構成を見る
5主要フォームを開く表示エラー、ActiveX、参照切れを確認
6VBAをコンパイル参照設定・API宣言等の問題を確認
7外部連携を確認リンクテーブル、Excel、CSV、ODBC等を確認

セキュリティ警告が出ても、すぐ「すべて有効」にしない

出所が分からないmdbには、VBAやマクロが含まれている可能性があります。そのため、メール添付や不明な共有フォルダから入手したmdbは、内容を確認せずマクロやVBAを有効化しない方が安全です。社内ファイルであっても、作成者や用途を確認してから利用します。


5. mdbはそのまま使える?accdbへ変換した方がよいケース

現在のAccessでmdbを開けるからといって、必ずそのまま使い続けるべきとは限りません。一方で、旧形式だからという理由だけで即座にaccdbへ変換する必要もありません。利用環境と依存機能から判断します。

状況判断の目安理由
新規システムを作るaccdbを基本とする現在の標準形式で新機能を利用しやすい
mdbが現行Accessで安定稼働急いで変換しなくてもよい業務停止リスクと改修費を考える
Access 2003以前とファイル共有mdbを残す場合があるaccdbはAccess 2007以前では開けない
旧レプリケーションを使用mdb継続または再設計accdbはレプリケーション非対応
旧ユーザーレベルセキュリティを使用mdb継続または再設計accdbでは利用できない
今後Microsoft 365へ統一accdb化を検討将来保守・機能追加を考えやすい
データ量が2GBへ接近accdb化だけでは不足SQL Server等への移行を検討

mdbもaccdbも最大サイズは原則2GB

accdbは新しい形式ですが、Accessデータベースの最大ファイルサイズそのものが大幅に増えるわけではありません。Microsoftの現行仕様では、mdbとaccdbのデータベースファイル全体はいずれも2GBからシステムオブジェクトに必要な領域を差し引いた容量が上限です。

そのため、mdbの肥大化や2GB制限が課題の場合は、accdbへの変換だけでなく、テーブルをSQL ServerやAzure SQLへ移すアップサイジングを検討した方が根本的な解決になることがあります。

mdbからaccdbへの変換は「拡張子を書き換える」ことではない

変換する場合は、Accessでmdbを開き、[ファイル]→[名前を付けて保存]からAccessデータベース(accdb)としてコピーを作成します。Windows上でsample.mdbをsample.accdbへ名前変更するだけでは、内部のファイル形式は変換されません。

Accessの名前を付けて保存を使ってmdbをaccdbへ変換する概要図

6. mdbファイルが開けない・動かない原因と古いAccessの移行方法

mdbが新しいPCで開けない場合、原因を「mdbという拡張子」だけに求めるのは適切ではありません。ファイル形式が古すぎる場合もあれば、VBA・ActiveX・OCX・外部接続など、Accessアプリケーション側の互換性が問題になっている場合もあります。

古い形式・VBA・ActiveX・ODBC・外部パスなどmdbが開けない原因一覧

mdbと32bit・64bitは別の話

「mdbだから64bit版Accessでは動かない」という理解は正しくありません。Access 2000形式や2002-2003形式のmdb自体は現在のAccessで利用できます。問題になりやすいのは、mdb内部のVBAが32bit向けWindows APIを呼び出していたり、32bit専用ActiveXやOCXを利用していたりするケースです。

mdbファイル形式とAccessの32bit・64bit互換性が別問題であることを示す図

古いmdbを移行するときは「動くか」だけでなく「何に依存しているか」を確認する

古いAccessは、長年の改修で処理が追加されている場合があります。フォームが開いたからといって移行完了とは判断せず、検索、登録、更新、印刷、Excel出力、メール、CSV連携、SQL Serverリンクなど、実業務で使う一連の処理を確認します。

画像alt案:mdbの利用環境・旧機能・将来運用からそのまま使うかaccdbへ変換するか判断するフロー

安全な古いAccess調査・移行フロー

mdbのバックアップから構造調査・依存確認・変換・テスト・本番切替までの流れ
STEP作業目的
1原本をバックアップいつでも元へ戻せるようにする
2mdbの世代を確認Access 2000/2002-2003/さらに古い形式を判定
3構造を調査テーブル・フォーム・VBA・リンク等を把握
4依存関係を確認OCX、API、ODBC、外部ファイル等を確認
5コピー環境で改修・変換accdb化や64bit対応を実施
6業務シナリオでテスト入力・検索・更新・帳票・連携を確認
7本番切替と記録戻し手順・変更内容を残す
実務視点
古いmdbの移行では、「ファイルが開くか」だけでなく、①mdbの世代、②データ保存場所、③VBA・ActiveX、④外部システムとの連携、⑤利用人数とデータ量、⑥将来のSQL Server化まで分けて確認すると、必要な改修範囲を判断しやすくなります。

7. まとめ|mdbは「古いから変換」ではなく中身を確認して判断する

mdbは、Access 2007以前から利用されてきたMicrosoft Accessのデータベースファイル形式です。1つのファイルにテーブル、クエリ、フォーム、レポート、マクロ、VBAなどを保存できるため、単なるデータファイルではなく、業務システムそのものになっているケースがあります。

現在のAccessでもAccess 2000形式やAccess 2002-2003形式のmdbは利用できます。一方、Access 2.0やAccess 95などさらに古い形式は移行方法が異なるため、開けないからといってファイル破損と決めつけないことが重要です。

また、mdbをaccdbへ変換しても、VBA、32bit・64bit、ActiveX・OCX、ODBC、外部ファイル等の問題が自動的に直るわけではありません。古いmdbを扱うときは、原本を残し、構造と依存関係を確認したうえで、そのまま利用するか、accdbへ変換するか、SQL Server等へ移行するかを判断しましょう。

そのmdbファイル、中身や依存関係が分からないまま使い続けていませんか?
古いmdbのファイル形式、テーブル構造、フォーム・レポート、VBA、ActiveX・OCX、外部連携、32bit・64bitの依存関係を調査し、accdb化・64bit対応・SQL Serverアップサイジングまで支援していますのでお困りのことがありましたらお気軽にご相談ください。

よくある質問(FAQ)

Microsoft Accessで利用されてきたデータベースファイル形式です。主にAccess 2003以前で使われ、テーブル・フォーム・レポート・VBAなどを1つのファイルへ保存できます。

基本的にはMicrosoft Accessで開きます。現在のMicrosoft 365版AccessやAccess 2024でも、Access 2000形式やAccess 2002-2003形式のmdbを開いて利用できます。

ExcelはAccessのフォームやVBAを実行するアプリケーションではありません。データを取り込める場合はありますが、mdbをAccessシステムとして利用するにはAccessが基本です。

Access 2000形式やAccess 2002-2003形式のmdbは現在のAccessでも通常利用できます。さらに古い形式では変換手順が必要になる場合があります。

Access 2000形式・2002-2003形式であれば、現在のAccessで利用できるケースがあります。古いVBAやActiveX等は別途互換性確認が必要です。

いいえ。mdbには複数世代があり、Access 2.0やAccess 95などは直接利用が難しい場合があります。

現在のAccessへの移行では、環境や対象オブジェクトによって旧Accessを介した変換が必要になる場合があります。原本を残して事前確認してください。

Microsoftは、フォーム・レポート・VBAモジュールを含む場合、Access 2000または2002-2003形式へ一度変換してから、より新しい形式へ移行する方法を案内しています。

mdbは旧形式、accdbはAccess 2007以降の標準形式です。機能・旧Accessとの互換性などに違いがあります。詳しくは「Access mdbとaccdbの違い」の記事で解説します。

対応するmdbであれば、Accessで開いて[名前を付けて保存]からaccdb形式のコピーを作成できます。拡張子名を変更するだけでは変換になりません。

Microsoftの現行仕様では、Accessデータベースファイルの最大サイズは2GBからシステムオブジェクトに必要な領域を差し引いた容量です。

mdbという形式自体が危険という意味ではありません。ただし、VBAやマクロを含められるため、出所が不明なファイルはマクロを安易に有効化しないことが重要です。

必ずしもそうではありません。問題になりやすいのは、VBA API宣言や32bit専用ActiveX・OCXなど、ファイル内部の互換性です。

現行Accessで安定稼働し、旧機能や旧Accessとの互換性が必要なら継続利用できる場合があります。ただし、将来保守やOffice更新を考えて移行計画を持つことをおすすめします。

原本をバックアップし、mdbの世代、VBA参照設定、32bit・64bit、ActiveX・OCX、ODBC、外部ファイル、破損の有無を順番に確認します。


参考情報

Microsoft Support|Which Access file format should I use?
https://support.microsoft.com/en-us/access/which-access-file-format-should-i-use

Microsoft Support|Database basics
https://support.microsoft.com/en-us/access/database-basics

Microsoft Support|Learn the structure of an Access database
https://support.microsoft.com/en-us/access/learn-the-structure-of-an-access-database

Microsoft Support|Import Access 2.0 and Access 95 databases into current versions
https://support.microsoft.com/en-us/access/import-access-2-0-and-access-95-databases-into-current-versions

Microsoft Support|Convert a database to the .accdb file format
https://support.microsoft.com/en-us/access/convert-a-database-to-the-accdb-file-format

Microsoft Support|Access specifications
https://support.microsoft.com/en-us/access/access-specifications

TOP