Accessのmdbとaccdbの違いとは?拡張子・互換性・変換方法を初心者向けに解説

概要

mdbはAccess 2007より前から使われてきた旧形式、accdbはAccess 2007で導入され、現在のAccessでも標準となっている形式です。新しく作るのであれば、基本はaccdbを選びます。ただし、Access 2003以前のユーザーとの共有、レプリケーション、旧ユーザーレベルセキュリティなど、mdbを残す理由がある環境もあります。さらに、mdbをaccdbへ変換しても、VBA・API・ActiveX・OCX・32bit/64bit・外部連携の問題まで自動的に解決するわけではありません。

この記事でわかること

  • mdbとaccdbの基本的な違いと、それぞれが使われてきたAccessの世代
  • accdbで利用できる新しい機能と、mdbを残す必要があるケース
  • mdbとaccdbのファイル容量上限がどちらも原則2GBであること
  • 現在新しくAccessを作る場合に、どちらを選べばよいか
  • mdbからaccdbへ安全に変換する具体的な手順
  • 拡張子を変換しても解決しないVBA・ActiveX・32bit/64bitなどの問題
  • 古いAccessをMicrosoft 365やAccess 2024へ移行するときの確認ポイント

この記事の主な内容

1.Accessのmdbとaccdbとは?まず30秒で違いを理解しよう
2.mdbとaccdbの違いを7項目で比較
3.現在使うならmdbとaccdbのどちらを選ぶ?
4.mdbからaccdbへ変換する方法|安全な手順を解説
5.mdbをaccdbへ変換しても解決しない問題
6.古いAccessを最新環境へ移行するときの注意点

7.まとめ|ファイル形式の変換とシステム移行は分けて考える
8.よくある質問(FAQ)

想定読了時間:約13~16分


1. Accessのmdbとaccdbとは?まず30秒で違いを理解しよう

Accessのデータベースファイルには、代表的な拡張子として「.mdb」と「.accdb」があります。どちらもAccessのテーブル、クエリ、フォーム、レポート、マクロ、VBAなどを保存するためのファイル形式ですが、登場した世代と利用できる機能が異なります。

mdbはAccess 2007より前から利用されてきたファイル形式です。一方、accdbはAccess 2007で導入され、現在のMicrosoft 365版AccessやAccess 2024でも新規データベースの標準形式として使われています。

Accessのmdbとaccdbを旧形式と現行標準形式として比較した図
30秒で覚えるなら
「mdb=旧形式」「accdb=Access 2007以降の標準形式」と覚えて問題ありません。ただし、mdbにはAccess 2000形式、Access 2002-2003形式など複数の世代があり、同じ.mdbでも互換性は完全に同じではありません。

同じ.mdbでも中身の世代が違う

「拡張子がmdbなら全部同じ」と考えるのは正確ではありません。Accessでは、Access 2000形式やAccess 2002-2003形式など、同じ.mdb拡張子でも異なるファイル形式が存在します。

現在のAccessでは、Access 2000形式やAccess 2002-2003形式のmdbを開いて利用できるケースがあります。ただし、Access 97などさらに古い形式は、現在のAccessでそのままaccdbへ直接変換できない場合があります。古いmdbほど、作成バージョンの確認が重要です。

Access 2003以前のmdbとAccess 2007以降のaccdbの変遷を示した図

2. mdbとaccdbの違いを7項目で比較

mdbとaccdbの違いは、単にファイル名の末尾が違うだけではありません。対応するAccessの世代、新機能、旧機能との互換性などに違いがあります。まずは全体を比較してみましょう。

Accessのmdbとaccdbを対応バージョン・機能・互換性で比較した表
比較項目mdbaccdb
主な世代Access 2003以前から利用Access 2007以降の標準
現在の新規作成互換性要件がある場合に選択基本的にこちらを推奨
添付ファイル型非対応対応
複数値フィールド非対応対応
計算型フィールド非対応Access 2010以降で対応
レプリケーション利用可能な旧形式あり非対応
ユーザーレベルセキュリティ旧形式で利用可能非対応
Access 2003以前から開く可能なmdb形式あり不可
最大ファイルサイズ2GB-システム領域2GB-システム領域

accdbで追加された主な機能

accdbには、旧mdb形式では利用できない新しい機能があります。代表的なものは次の通りです。

Access accdbで利用できる添付ファイル・複数値・計算フィールドなどを整理した図
  • 添付ファイル型:画像、PDF、Office文書などのファイルをレコードへ添付できる
  • 複数値フィールド:1レコードに複数の選択値を保持できる
  • 改善された暗号化:データベースパスワードと暗号化機能を利用できる
  • 長いテキストの履歴管理:AppendOnlyを使って変更履歴を保持できる
  • 計算型フィールド:Access 2010以降のaccdbで、式による計算結果をフィールドとして扱える
  • データマクロ:テーブルレベルでデータ変更に応じた処理を定義できる

ただし、これらの機能を使えるからといって、すべてのデータベースで積極的に利用すべきとは限りません。例えば複数値フィールドや添付ファイル型は、将来SQL Serverへ移行するときの設計を複雑にすることがあります。長期運用を考える場合は、Accessだけでなく将来のデータベース構成まで見て判断します。

mdbとaccdbの最大容量はどちらも2GB

「accdbの方が新しいので、mdbより大容量なのでは?」と思われることがあります。しかし、Microsoftの現行仕様では、mdbもaccdbもAccessデータベース全体の上限は2GBからシステムオブジェクトに必要な領域を差し引いた容量です。

そのため、ファイル容量が2GBへ近づいているAccessをaccdbへ変換しても、容量問題の根本解決にはなりません。データ量が増えている場合は、フロントエンドをAccessとして残し、データ部分をSQL ServerやAzure SQLへ移行する構成も検討します。

Accessのmdbとaccdbのファイルサイズ上限がどちらも2GBであることを示した図

3. 現在使うならmdbとaccdbのどちらを選ぶ?

現在、新しいAccessデータベースを作成するのであれば、基本的にはaccdbを選ぶのが適切です。Microsoftも、ほとんどの場合で旧mdbをaccdbへ保存することを案内しています。

一方で、既存システムは「古い形式だからすぐ変換すべき」と単純には判断できません。利用者のAccessバージョンや旧機能への依存を確認し、移行後に業務が止まらないことを優先します。

新規作成・旧Access共有・旧機能依存からmdbかaccdbを判断するフロー
状況推奨理由
新しくAccessを作るaccdb現在の標準形式で、新機能・現行環境へ対応しやすい
Microsoft 365 / Access 2024だけで利用accdb古いAccessとの互換性を考慮する必要が少ない
Access 2003以前の利用者と共有mdbを検討accdbはAccess 2007以前では開けない
旧レプリケーションを使用mdb継続または再設計accdbではレプリケーション非対応
旧ユーザーレベルセキュリティを使用mdb継続または再設計accdbでは非対応
SQL Server移行を予定形式だけでなく構造を調査テーブル設計・データ型・リンク方式が重要

mdbを残すこと自体が直ちに問題ではない

mdbは古い形式ですが、利用環境が安定しており、業務上必要な旧機能を使っているなら、すぐに形式変更する必要がないケースもあります。重要なのは「拡張子が古いか」ではなく、現在のWindows・Office環境で安全に運用できるか、将来の保守が可能かという視点です。


4. mdbからaccdbへ変換する方法|安全な手順を解説

mdbからaccdbへの変換は、Windowsのエクスプローラーでファイル名の末尾を書き換える操作ではありません。Accessでmdbを開き、「名前を付けて保存」から新しいデータベース形式としてaccdbのコピーを作成します。

重要
「顧客管理.mdb」のファイル名を「顧客管理.accdb」へ変更するだけでは、ファイル形式は変換されません。必ずAccessの保存機能を使用してください。

実務では次の順番で進めると安全です。

Accessでmdbを開いてaccdbとして安全に保存・検証する手順
STEP作業確認ポイント
1元mdbをバックアップ変更前の原本を必ず残す
2作成形式・利用環境を確認Access 2000 / 2002-2003 / 97等を確認
3mdbをAccessで開く起動時エラーや参照切れを記録
4[ファイル]→[名前を付けて保存][データベースに名前を付けて保存]を選択
5Accessデータベース(accdb)で保存元mdbとは別名でコピーを作成
6フォーム・クエリ・VBA等をテスト検索・入力・印刷・外部連携まで確認

Access 97のmdbは特に注意

現在のAccessでは、Access 97形式のmdbを直接accdbへ変換できない場合があります。Microsoftは、Access 2013以降ではAccess 97データベースを直接accdbへ変換できないとしており、Access 2003など旧バージョンを介してAccess 2002-2003形式へ変換した後、さらにaccdbへ変換する手順を案内しています。

古いmdbで作成年代が分からない場合は、いきなり本番ファイルを変換せず、まずファイル形式と依存機能を調査する方が安全です。

mdbをaccdbへ変換するAccessの保存操作と単なる拡張子変更の違い

5. mdbをaccdbへ変換しても解決しない問題

古いAccessが新しいPCで動かないとき、「mdbだから動かないのでは?」と考え、accdbへ変換すれば直ると思われることがあります。しかし、ファイル形式の変換だけで解決するケースは限定的です。

実際には、古いAccessにはファイル形式以外の依存関係が残っている場合があります。次のような項目は、mdbからaccdbへ変換しても別途確認が必要です。

mdbからaccdbへ変換してもVBA・ActiveX・参照設定等は別問題であることを示した図

32bit・64bitの問題は拡張子とは別

Accessが32bitから64bitへ変わると、Windows APIを呼び出しているVBAコードや、32bit専用のActiveX・OCXが動かなくなる場合があります。この問題はmdbかaccdbかではなく、VBAコードや外部コンポーネントの互換性の問題です。

そのため「accdbへ変換できた=64bit対応完了」ではありません。VBAのコンパイル確認、参照設定、フォーム上のActiveX、外部DLL、ODBC接続などを個別に確認する必要があります。

Accessのmdb・accdb形式と32bit・64bit互換性が別問題であることを整理した図

6. 古いAccessを最新環境へ移行するときの注意点

古いAccessをMicrosoft 365やAccess 2024へ移行する場合は、ファイル形式だけを見るのではなく、Accessアプリケーション全体を確認します。特に長年改修されてきたデータベースでは、作成当初にはなかった外部ファイルやVBA処理が追加されていることがあります。

古いmdbを最新Accessへ移行する際のVBA・OCX・リンク・データ量確認項目

移行前に確認したいチェック項目

確認対象確認内容
ファイル形式Access 2000 / 2002-2003 / 97など、mdbの世代を確認
VBAコンパイルエラー、API宣言、参照設定を確認
フォーム・レポートActiveX / OCX / 古いコントロールの有無
リンクテーブルAccess、Excel、SQL Server、ODBC等のリンク先
外部ファイルCSV、Excel、画像、PDF、固定パス等
メール・印刷Outlook連携、プリンタ、PDF出力等
複数人利用フロント・バック分割、ネットワーク構成
データ量2GBへの接近、肥大化、Compact and Repair
将来構成accdb継続か、SQL Server / Azure SQLへ移行するか

データ量が増えているならSQL Server化も検討する

Accessのファイル上限はmdb・accdbとも2GBです。また、利用人数やデータ量が増えると、ファイル形式を新しくするだけでは性能や運用面の課題を解決できません。

このような場合は、Accessのフォーム・レポート・VBAをフロントエンドとして残し、テーブルをSQL ServerやAzure SQLへ移行する構成があります。利用者の操作感を大きく変えずに、データベース部分を強化できる点がメリットです。

実務視点
古いAccessの更新では、①ファイル形式、②VBA・ActiveX、③データ構造、④利用人数・データ量、⑤将来のSQL Server化を分けて評価すると、必要な改修範囲を判断しやすくなります。

安全に既存Accessを更新する流れ

mdbのバックアップからaccdb変換・互換性テスト・本番切替までの安全な更新フロー
STEP作業確認内容
1原本バックアップ現行mdbをそのまま保管
2現状調査形式・VBA・参照・OCX・リンク先を確認
3コピー環境で変換accdb化や64bit修正を実施
4機能テスト入力・検索・更新・印刷・連携を確認
5ユーザー確認実業務の主要シナリオで確認
6本番切替旧ファイルへ戻せる状態で移行
7移行記録変更点・残課題・利用環境を記録

7. まとめ|ファイル形式の変換とシステム移行は分けて考える

mdbはAccess 2007より前から使われてきた旧形式、accdbはAccess 2007以降の標準形式です。現在新しくAccessを作るのであれば、基本的にはaccdbを選ぶのが適切です。

ただし、既存mdbを扱う場合は、拡張子の新旧だけで判断してはいけません。Access 2003以前との互換性、レプリケーション、旧ユーザーレベルセキュリティなど、mdbを残す理由がある環境もあります。

さらに重要なのは、mdbからaccdbへ変換しても、VBA・API・ActiveX・OCX・32bit/64bit・ODBC・外部ファイル連携の問題は別途残る可能性があることです。古いAccessを最新環境へ移行する場合は、ファイル形式の変換とアプリケーション全体の互換性調査を分けて考えましょう。

そのmdb、accdbへ変換するだけで本当に最新環境へ移行できますか?
古いAccessのファイル形式、VBA、ActiveX・OCX、参照設定、外部連携、32bit・64bitの依存関係を調査し、accdb化・64bit対応・SQL Serverアップサイジングまで支援していますのでお困りごとがありましたらお気軽にご相談ください。

よくある質問(FAQ)

Access 2007より前から利用されてきたAccessデータベースのファイル形式です。Access 2000形式やAccess 2002-2003形式など、同じ.mdbでも複数の世代があります。

Access 2007で導入され、現在のAccessで標準となっているデータベース形式です。添付ファイル型や複数値フィールドなど、mdbにはない機能を利用できます。

主な違いは対応Access世代と利用できる機能です。accdbは現行標準形式ですが、Access 2003以前との互換性や旧レプリケーション等が必要な場合はmdbを使うことがあります。

新規作成なら基本的にaccdbです。既存mdbは、旧Accessとの共有や旧機能への依存を確認してから変換を判断します。

Access 2000形式やAccess 2002-2003形式など、一部のmdbは現在のAccessでも開いて利用できます。ただし、さらに古い形式では追加の変換手順が必要になる場合があります。

Access 2013以降ではAccess 97形式を直接accdbへ変換できません。MicrosoftはAccess 2003等を介してAccess 2002-2003形式へ変換した後、accdbへ変換する方法を案内しています。

はい。対応するmdbをAccessで開き、[ファイル]→[名前を付けて保存]からAccessデータベース形式で保存するとaccdbのコピーを作成できます。

いいえ。拡張子名を変更するだけではファイル形式は変わりません。Accessの[名前を付けて保存]を使って変換します。

通常はaccdbのコピーが作成されます。ただし、実務では変換前に元mdbを別途バックアップしておくことを推奨します。

Microsoftの現行仕様では、どちらもデータベース全体で2GBからシステムオブジェクトに必要な領域を差し引いた容量です。

開けません。accdbはAccess 2007より前のAccessでは開いたりリンクしたりできません。

いいえ。ファイル形式を変換しても、VBAのAPI宣言、参照設定、ActiveXや外部ライブラリなどは個別に修正が必要な場合があります。

直りません。32bit・64bitの問題はVBA APIやActiveX・OCX等の互換性であり、mdb/accdbのファイル形式とは別問題です。

accdbは設計変更可能な通常のAccessデータベースです。accdeはVBAソースやフォーム・レポートの設計変更を制限して配布するためのコンパイル済み形式です。

必ずしもそうではありません。利用環境、旧機能、VBA、外部連携、ユーザーのAccessバージョンを確認し、コピー環境でテストしてから判断するのが安全です。


参考情報

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|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

Microsoft Support|Change the default file format
https://support.microsoft.com/en-us/access/change-the-default-file-format

Microsoft Support|Deploy an Access application
https://support.microsoft.com/en-US/Access/deploy-an-access-application

TOP