- 概要
- この記事でわかること
- この記事の主な内容
- 1. AccessのACCDEとは?まず30秒で仕組みを理解しよう
- 2. ACCDEでできること・できないこと|ACCDBとの違いを比較
- 3. ACCDEファイルの作成方法|ACCDBから5STEPで作る
- 4. ACCDEを作る前に必ず確認したいポイント|元のACCDBを残す理由
- 5. ACCDEが開けない・作成できない原因と対処方法
- ACCDEしか残っていない場合はどうする?
- 6. ACCDEを安全に配布・運用する方法|Runtime・32bit/64bitまで解説
- ACCDEの安全な更新フロー
- 7. まとめ|ACCDBを原本、ACCDEを配布用として管理する
- よくある質問(FAQ)
- 参考情報
概要
| この記事の結論 ACCDEは、AccessのVBAコードをコンパイルし、編集可能なVBAソースコードを取り除いた配布向けファイルです。フォーム・レポート・モジュールの設計変更やVBAコードの閲覧・編集などはできなくなります。ただし、Accessデータベース全体を完全に変更不可にする形式ではありません。開発用のACCDBを原本として保管し、利用者にはACCDEを配布する運用が基本です。 |
この記事でわかること
- ACCDEとは何か、ACCDB・ACCDR・Runtimeと何が違うのか
- ACCDEにすると「できなくなること」と、引き続きできること
- ACCDBからACCDEを作成する基本手順と作成前のチェック項目
- 元のACCDBを必ず残すべき理由と、Front EndだけをACCDE化する考え方
- ACCDEを作成できない・開けない代表的な原因と切り分け方
- 32bit/64bit、Accessバージョン、ActiveX・OCX・Runtimeの互換性
- ACCDEしか残っていない場合にできること・できないこと
この記事の主な内容
1.AccessのACCDEとは?まず30秒で仕組みを理解しよう
2.ACCDEでできること・できないこと|ACCDBとの違いを比較
3.ACCDEファイルの作成方法|ACCDBから5STEPで作る
4.ACCDEを作る前に必ず確認したいポイント|元のACCDBを残す理由
5.ACCDEが開けない・作成できない原因と対処方法
6.ACCDEを安全に配布・運用する方法|Runtime・32bit/64bitまで解説
7.まとめ|ACCDBを原本、ACCDEを配布用として管理する
8.よくある質問(FAQ)
想定読了時間:約15~20分
1. AccessのACCDEとは?まず30秒で仕組みを理解しよう
ACCDEは、Accessで作成したデータベースアプリケーションを利用者へ配布するときに使われるファイル形式です。元になるのは通常のACCDBで、ACCDEを作成するとVBAコードがコンパイルされ、編集可能なソースコードが取り除かれます。
そのため、利用者はフォームから入力したり、検索・集計したり、レポートを印刷したりできます。一方、VBAを開いてコードを修正したり、フォームやレポートをデザインビューで作り替えたりすることはできません。
ただし、ACCDEを「Access全体を完全にロックするファイル」と考えるのは正確ではありません。Microsoftも、ACCDE化だけでデータベース設計の変更が完全に防止されるわけではないと説明しています。

ACCDEはEXEファイルではない
ACCDEはWindows単体で動く実行ファイルではありません。ACCDEを実行するPCには、製品版AccessまたはAccess Runtimeなど、Accessアプリケーションを実行できる環境が必要です。
つまり、ACCDEは「Accessアプリケーションの配布形式」、Runtimeは「Accessアプリケーションを実行するための環境」です。役割が異なるため、Runtime+ACCDEという組み合わせで運用することもできます。
ACCDB・ACCDE・ACCDR・Runtimeの違い

| 種類 | 主な役割 | 開発・編集 | 主な用途 |
| ACCDB | Accessの通常データベース | 可能 | 開発・改修・原本管理 |
| ACCDE | VBA等をコンパイルした配布用ファイル | フォーム・レポート・モジュール・VBA等は不可 | 一般利用者への配布 |
| ACCDR | Runtimeモードで起動させるための拡張子 | 実行時UIをRuntimeモードにする | Runtime相当の動作確認・起動制御 |
| Access Runtime | Accessアプリを実行する環境 | 開発機能は利用不可 | 製品版Accessを持たない利用者の実行環境 |
2. ACCDEでできること・できないこと|ACCDBとの違いを比較
ACCDEへ変換しても、アプリケーションそのものが使えなくなるわけではありません。Microsoftは、ACCDEでも通常どおりデータを更新し、レポートを実行できると説明しています。
一方で、VBAソースやフォーム・レポート等の設計を変更する開発作業は強く制限されます。利用者に「操作はしてほしいが、プログラム部分は変更してほしくない」という配布用途に向いています。

| 対象 | ACCDB | ACCDE | 実務上の考え方 |
| データ入力・更新 | ○ | ○ | 通常の業務操作は可能 |
| クエリ実行 | ○ | ○ | 抽出・集計などは通常利用できる |
| レポート実行・印刷 | ○ | ○ | 帳票出力は利用可能 |
| VBAコードの実行 | ○ | ○ | コンパイル済みコードは動作する |
| VBAコードの閲覧・編集 | ○ | × | ACCDEではソースを表示・修正できない |
| フォームの作成・設計変更 | ○ | × | 元ACCDB側で修正し再生成する |
| レポートの作成・設計変更 | ○ | × | 元ACCDB側で修正し再生成する |
| モジュールの作成・変更 | ○ | × | 元ACCDBが必要 |
| VBA参照設定の変更 | ○ | × | 配布前に参照設定を確定する |
| テーブル・クエリ・マクロ | ○ | 一部操作可能 | ACCDE=DB全体の完全ロックではない |
| 重要:ACCDEは「完全なセキュリティ機能」ではありません ACCDEはVBAソースやフォーム・レポート等の設計変更を制限するためには有効です。しかし、データへのアクセス制御やファイルコピー防止を目的とした機能ではありません。機密データの保護が必要な場合は、権限設計、暗号化、バックエンドDBのセキュリティなどを別途検討します。 |
ACCDEからACCDBへ戻せる?
ACCDEから、元のVBAソースコードやフォーム・レポート・モジュールの編集可能な設計情報を元通りのACCDBへ復元することを前提にしてはいけません。改修には、元のACCDBを残しておくことが最も重要です。
ただし、ACCDE内にあるテーブルやクエリ、マクロなど、一部のオブジェクトやデータを別のACCDBへ取り込める場合があります。元ACCDBがない場合は、残っている情報から再構築できる範囲を調査します。
3. ACCDEファイルの作成方法|ACCDBから5STEPで作る
ACCDEは通常のACCDBから作成します。Microsoft公式の手順では、元のACCDBファイル自体は変更されません。とはいえ、実務では作業前に原本バックアップを取得してから進めると安全です。
| STEP | 操作 | 確認ポイント |
| 1 | 元のACCDBをバックアップ | 開発原本を別名・別場所に保存する |
| 2 | VBAをコンパイルしてエラー確認 | 参照設定・構文エラーを解消する |
| 3 | [ファイル]→[名前を付けて保存] | Backstage画面を開く |
| 4 | [ACCDEの作成]→[名前を付けて保存] | 保存先・ファイル名を決める |
| 5 | 生成したACCDEを実機テスト | 起動・入力・検索・帳票・外部連携を確認する |

作成前にVBAのコンパイル確認をする
ACCDEはVBAをコンパイルして作成するため、元のACCDBにコンパイルエラーや参照設定の問題があると作成できないことがあります。VBEの[デバッグ]からコンパイルを実行し、エラーを解消しておきます。
| VBE → [デバッグ] → [データベース名のコンパイル] ※メニュー名は環境により表示が異なる場合があります。 |
ACCDE化するとVBAはどうなる?
ACCDEの作成時には、VBAコードモジュールがコンパイルされ、編集可能なソースコードが削除されます。実行に必要なコンパイル済みコードは残るため、ボタン処理や入力チェックなどは通常どおり動作します。

4. ACCDEを作る前に必ず確認したいポイント|元のACCDBを残す理由
ACCDE運用で最も避けたいのは、配布用ACCDEだけを残し、元のACCDBを失うことです。後からフォームのレイアウト変更やVBA修正が必要になった場合、ACCDEそのものを編集して対応することはできません。
そのため、開発用ACCDBと配布用ACCDEを明確に分けます。ACCDBは版管理された原本として保管し、修正したら新しいACCDEを生成して利用者へ再配布する流れにします。

複数人利用ではFront EndだけをACCDE化する
複数人で共有するAccessでは、データを保存するBack Endと、フォーム・クエリ・レポート・VBA等を持つFront Endを分ける構成が基本です。MicrosoftもACCDEはFront End側で利用するのに適していると案内しています。
Back Endまで一体のままACCDE化すると、開発版と配布版でデータ内容が分かれてしまうなど、改修時の管理が難しくなります。実務ではFront EndをACCDE化し、データは共有Back EndやSQL Serverへ置く構成が扱いやすくなります。
| 役割 | 推奨形式・配置 | ポイント |
| 開発原本 | Front End.accdb | VBA・フォーム等を修正する原本。バックアップと版管理を行う |
| 利用者配布 | Front End.accde | 各ユーザーPCへ配布。設計変更を制限する |
| データ | Back End.accdb / SQL Server / Azure SQL | 複数ユーザーが共通データへ接続する |

ACCDE作成前チェックリスト

| 確認項目 | チェック内容 |
| 原本ACCDB | バックアップがあり、版番号・更新日を記録している |
| VBAコンパイル | コンパイルエラーがない |
| 参照設定 | 「参照不可」がなく、必要なライブラリがそろっている |
| 32bit/64bit | 配布先Access / Runtimeと互換性がある |
| ActiveX / OCX / DLL | 配布先PCに必要な部品がある |
| ODBC・リンクテーブル | 接続先とドライバを確認している |
| 起動フォーム・メニュー | Runtime利用者でも操作できる導線がある |
| 動作テスト | 入力・検索・更新・帳票・外部連携を確認している |
5. ACCDEが開けない・作成できない原因と対処方法
ACCDEのトラブルは、「そもそもACCDEを作成できない」のか、「ACCDEは作れたが別PCで開けない/正しく動かない」のかで切り分けると原因を探しやすくなります。
ACCDEを作成できない代表的な原因

| 原因 | 症状・背景 | 対処の方向性 |
| VBAのコンパイルエラー | ACCDE作成時にエラーになる | VBEでコンパイルし、構文・参照エラーを解消 |
| VBAプロジェクトのパスワード | ソースへアクセスできない | 正しいパスワードでVBAプロジェクトへアクセス |
| 別Access DB/アドインへの参照 | 参照チェーンがACCDBのまま | 参照される側から順にACCDE化し参照先を更新 |
| 参照設定の不整合 | MISSING参照などがある | 必要なライブラリを復旧して再コンパイル |
| ファイル破損・不整合 | 保存時に異常終了する | 原本コピーで圧縮と修復、バックアップから確認 |
| 暗号化・パスワード条件 | 暗号化設定が意図と異なる | 配布要件に応じて暗号化状態を整理 |
ACCDEが開けない・動かない代表的な原因

| 原因 | 確認するポイント | 対処 |
| Accessバージョンの違い | 作成環境より古いAccessで開いていないか | 同等以上の環境で確認し、必要なら元ACCDBから再生成 |
| 32bit/64bitの違い | ACCDE作成bit数と実行環境 | 実行環境に合わせて元ACCDBから再コンパイル |
| VBA API | Declare/PtrSafe/LongPtr等 | 64bit対応コードを確認 |
| ActiveX / OCX / DLL | 必要な部品が存在・登録されているか | 互換版を導入または処理を置換 |
| ODBC/外部接続 | ドライバbit数、DSN、接続先 | ドライバ・接続設定を再構成 |
| リンクテーブル・外部パス | サーバー・共有フォルダへ到達できるか | リンク先・UNCパス・権限を確認 |
| Runtime/Access環境 | 必要なAccess実行環境があるか | 適切なRuntime/製品版Accessを用意 |
| 信頼設定・セキュリティ | コードが無効化されていないか | 信頼できる場所等の運用を確認 |
| 切り分けのコツ 「ACCDEファイルそのものが開かない」「フォームまでは開くがボタンでエラーになる」「外部データだけ取得できない」では原因が異なります。どこまで動作するかを確認し、Access本体→bit数→VBA/部品→外部接続の順に切り分けると効率的です。 |
ACCDEしか残っていない場合はどうする?
元のACCDBが見つからずACCDEだけが残っている場合、VBAソースやフォーム・レポートの編集可能な設計をそのまま復元することは期待できません。まず、バックアップ、旧PC、共有フォルダ、外部業者の納品物などから元ACCDBを探します。
原本が見つからない場合でも、テーブル構造、クエリ、データ、画面の動き、外部DBとの接続などを調査し、新しいACCDBとして再構築できる場合があります。既存ACCDEの機能を仕様書代わりにして、必要機能を再実装する考え方です。
6. ACCDEを安全に配布・運用する方法|Runtime・32bit/64bitまで解説
ACCDEの配布は、ファイルを作って共有フォルダへ置くだけでは終わりません。配布先PCのAccess/Runtime、32bit・64bit、参照部品、リンク先、更新手順まで含めて運用設計すると安定します。

32bit/64bitは必ず配布先と合わせる
Microsoftは、32bit版でコンパイルされたMDE・ADE・ACCDEを64bit版Officeでそのまま動かすことはできず、64bit環境向けに再コンパイルする必要があると案内しています。逆方向も同様に互換性へ注意が必要です。
また、ACCDE本体だけでなく、VBA API、ActiveX・OCX、外部DLL、ODBCドライバなどにもbit数の影響があります。020「Accessのバージョン確認方法」で確認した製品名・Build・bit数を合わせて記録しておくと切り分けが容易です。
RuntimeとACCDEを組み合わせる
一般利用者に製品版Accessを配布しない場合は、Access Runtime上でACCDEを実行する構成が利用できます。ACCDEは設計変更を制限し、Runtimeは開発機能を持たない実行環境として役割を分担します。
ただし、Runtimeではナビゲーションウィンドウや設計ビューを前提とした操作ができません。起動フォーム、メニュー、終了ボタン、エラー処理までアプリ側で完結する設計にしてから配布します。
ACCDEの安全な更新フロー
| 段階 | 実施内容 |
| 1. 開発 | 原本ACCDBで修正する |
| 2. 事前確認 | VBAコンパイル・参照設定・外部接続を確認 |
| 3. 生成 | 新しいACCDEを作成する |
| 4. 検証 | 配布先と同じAccess/Runtime環境でテストする |
| 5. 配布 | 利用者ごとのFront Endを更新する |
| 6. 切り戻し準備 | 旧ACCDEを一定期間保管する |
| 7. 記録 | バージョン、Build、配布日、変更内容を記録する |

| 実務視点 ACCDEは「配布して終わり」ではなく、開発原本ACCDB・配布版ACCDE・データBack End・利用者PC環境を分けて管理することで保守性が大きく変わります。長期運用するAccessでは、ACCDEの世代管理と配布先のAccess/Runtime・bit数を一覧化しておくと、PC更改やMicrosoft 365移行がスムーズです。 |
7. まとめ|ACCDBを原本、ACCDEを配布用として管理する
ACCDEは、VBAコードをコンパイルし、編集可能なソースを取り除いたAccessの配布向けファイルです。フォーム・レポート・モジュールやVBAを利用者に変更させたくない場合に有効ですが、データベース全体を完全にロックする形式ではありません。
安定した運用では、開発用ACCDBを必ず原本として保管し、修正のたびにACCDEを再生成します。複数人利用ではFront EndをACCDE化し、Back Endは共有ACCDBやSQL Serverへ分離する構成が扱いやすくなります。
ACCDEが開けない場合は、Accessバージョン、32bit/64bit、VBA、ActiveX・OCX、ODBC、リンク先、Runtimeを順に確認します。元ACCDBを失っている場合は、まず原本探索を行い、見つからなければ既存ACCDEから再構築できる範囲を調査します。
| そのAccess、ACCDEしか残っておらず改修できなくなっていませんか? ACCDEしか残っていない既存Accessの現状調査、元ACCDBの有無確認、機能再構築、32bit/64bit対応、Microsoft 365移行、Access Front End+SQL Server化まで支援しています。お気軽にご相談ください! |
よくある質問(FAQ)
ACCDBをコンパイルし、編集可能なVBAソースコードを取り除いたAccessの配布向けファイルです。フォーム・レポート・モジュールの設計変更やVBAの閲覧・編集などが制限されます。
ACCDBは開発・編集できる通常のAccessファイルです。ACCDEは配布向けで、VBAソースやフォーム・レポート等の設計変更を制限します。
ACCDE自体に別料金が発生するわけではありません。ただし実行には製品版Accessまたは適切なAccess Runtimeなどの実行環境が必要です。
VBA、フォーム、レポート、モジュール等の設計変更はできません。ただしACCDEはデータベース全体を完全に編集不能にする形式ではありません。
通常はできません。ACCDE作成時にVBAがコンパイルされ、編集可能なソースコードが削除されます。
元のVBAソースやフォーム・レポート・モジュールの編集可能な設計を完全に戻すことは前提にできません。元ACCDBを必ず保管してください。
まず旧PC、共有フォルダ、バックアップ、納品物から元ACCDBを探します。見つからない場合は、既存ACCDEの動作や取得可能なオブジェクトを調査し、再構築を検討します。
いいえ。ACCDEはAccessのファイル形式であり、実行にはAccessまたはAccess Runtime等が必要です。
ACCDEは配布用ファイル形式、RuntimeはAccessアプリケーションを実行するための環境です。Runtime上でACCDEを動かすこともできます。
ACCDEはVBA等をコンパイルした配布ファイルです。ACCDRはAccessデータベースをRuntimeモードで起動させるために使われる拡張子です。
VBAコンパイルエラー、参照設定の不整合、VBAプロジェクトのパスワード、別Access DBやアドインへの参照などが代表例です。
Accessバージョン、32bit/64bit、VBA API、ActiveX・OCX、ODBC、外部パス、Runtime等の互換性を確認します。
そのままでは互換性の問題が出ます。Microsoftは64bit環境向けに再コンパイルする必要があると案内しており、元ACCDBから作り直すのが基本です。
使用している機能や作成環境によっては開けない場合があります。配布先と同等または想定環境で必ず動作確認します。
はい。フォーム・レポート・モジュールやVBAを修正するには元ACCDBが必要です。ACCDEと別にバックアップ・版管理してください。
参考情報
Microsoft Support|VBA コードをユーザーに表示しない
https://support.microsoft.com/ja-jp/access/hide-vba-code-from-users
Microsoft Support|Access データベースを分割する
|https://support.microsoft.com/ja-jp/access/split-an-access-database
Microsoft Support|64 ビット版または 32 ビット版の Office を選択する
https://support.microsoft.com/ja-jp/office/lifecycle/officeinstall/choose-between-the-64-bit-or-32-bit-version-of-offic