Access ACCDEとは?作成方法・開けない原因・ACCDBとの違いを解説

概要

この記事の結論
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化だけでデータベース設計の変更が完全に防止されるわけではないと説明しています。

Access ACCDEがACCDBをコンパイルしてVBAソースやフォーム・レポートの設計変更を制限する仕組み

ACCDEはEXEファイルではない

ACCDEはWindows単体で動く実行ファイルではありません。ACCDEを実行するPCには、製品版AccessまたはAccess Runtimeなど、Accessアプリケーションを実行できる環境が必要です。

つまり、ACCDEは「Accessアプリケーションの配布形式」、Runtimeは「Accessアプリケーションを実行するための環境」です。役割が異なるため、Runtime+ACCDEという組み合わせで運用することもできます。

ACCDB・ACCDE・ACCDR・Runtimeの違い

ACCDB・ACCDE・ACCDR・Access Runtimeの役割と違いを比較した図
種類主な役割開発・編集主な用途
ACCDBAccessの通常データベース可能開発・改修・原本管理
ACCDEVBA等をコンパイルした配布用ファイルフォーム・レポート・モジュール・VBA等は不可一般利用者への配布
ACCDRRuntimeモードで起動させるための拡張子実行時UIをRuntimeモードにするRuntime相当の動作確認・起動制御
Access RuntimeAccessアプリを実行する環境開発機能は利用不可製品版Accessを持たない利用者の実行環境

2. ACCDEでできること・できないこと|ACCDBとの違いを比較

ACCDEへ変換しても、アプリケーションそのものが使えなくなるわけではありません。Microsoftは、ACCDEでも通常どおりデータを更新し、レポートを実行できると説明しています。

一方で、VBAソースやフォーム・レポート等の設計を変更する開発作業は強く制限されます。利用者に「操作はしてほしいが、プログラム部分は変更してほしくない」という配布用途に向いています。

Access ACCDEでできることとできないことをACCDBと比較した一覧
対象ACCDBACCDE実務上の考え方
データ入力・更新○○通常の業務操作は可能
クエリ実行○○抽出・集計などは通常利用できる
レポート実行・印刷○○帳票出力は利用可能
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をバックアップ開発原本を別名・別場所に保存する
2VBAをコンパイルしてエラー確認参照設定・構文エラーを解消する
3[ファイル]→[名前を付けて保存]Backstage画面を開く
4[ACCDEの作成]→[名前を付けて保存]保存先・ファイル名を決める
5生成したACCDEを実機テスト起動・入力・検索・帳票・外部連携を確認する
AccessのACCDBからACCDEを作成する5ステップ

作成前にVBAのコンパイル確認をする

ACCDEはVBAをコンパイルして作成するため、元のACCDBにコンパイルエラーや参照設定の問題があると作成できないことがあります。VBEの[デバッグ]からコンパイルを実行し、エラーを解消しておきます。

VBE → [デバッグ] → [データベース名のコンパイル]

※メニュー名は環境により表示が異なる場合があります。

ACCDE化するとVBAはどうなる?

ACCDEの作成時には、VBAコードモジュールがコンパイルされ、編集可能なソースコードが削除されます。実行に必要なコンパイル済みコードは残るため、ボタン処理や入力チェックなどは通常どおり動作します。

ACCDBのVBAソースがACCDE化でコンパイル済みコードになり編集できなくなる流れ

4. ACCDEを作る前に必ず確認したいポイント|元のACCDBを残す理由

ACCDE運用で最も避けたいのは、配布用ACCDEだけを残し、元のACCDBを失うことです。後からフォームのレイアウト変更やVBA修正が必要になった場合、ACCDEそのものを編集して対応することはできません。

そのため、開発用ACCDBと配布用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.accdbVBA・フォーム等を修正する原本。バックアップと版管理を行う
利用者配布Front End.accde各ユーザーPCへ配布。設計変更を制限する
データBack End.accdb / SQL Server / Azure SQL複数ユーザーが共通データへ接続する
AccessのFront EndをACCDE化し、Back Endは共有データとして分離する正しい構成

ACCDE作成前チェックリスト

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

5. ACCDEが開けない・作成できない原因と対処方法

ACCDEのトラブルは、「そもそもACCDEを作成できない」のか、「ACCDEは作れたが別PCで開けない/正しく動かない」のかで切り分けると原因を探しやすくなります。

ACCDEを作成できない代表的な原因

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

ACCDEが開けない・動かない代表的な原因

古いAccess・32bit/64bit・VBA・ActiveX・ODBC・外部パスなどACCDEが開けない代表原因一覧
原因確認するポイント対処
Accessバージョンの違い作成環境より古いAccessで開いていないか同等以上の環境で確認し、必要なら元ACCDBから再生成
32bit/64bitの違いACCDE作成bit数と実行環境実行環境に合わせて元ACCDBから再コンパイル
VBA APIDeclare/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、参照部品、リンク先、更新手順まで含めて運用設計すると安定します。

ACCDEとAccessの32bit・64bit、Accessバージョン、VBA・ActiveX・ODBC互換性の関係

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、配布日、変更内容を記録する
開発用ACCDBの修正からACCDE生成・検証・利用者配布・切り戻しまでの安全な更新フロー
実務視点
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

TOP