アプリケーションをMDEファイルとして保存する方法

◆概要
 この資料は、Microsoft AccessでアプリケーションをMDEファイルとして保存する方法について記載しています。


 データベースをMDEファイルとして保存すると、Visual Basicのソース コードが含まれないデータベースのコピーが作成されます。このコピーはすでにコンパイルされているので実行可能ですが、表示や編集はできません。また、ユーザーはMDEデータベースのフォーム、レポート、およびモジュールの表示や変更はできません。ただし、MDEデータベースのテーブル、クエリー、マクロ、およびリレーションシップのデザインの表示や修正はできます。

アプリケーションをMDEファイルとして保存すると、データベースのサイズが小さくなり、メモリを効率的に使用できます。


データベースをMDEファイルとして保存すると、以下のことを防止できます。

  • フォーム、レポート、またはモジュールの表示および修正。
  • フォーム、レポート、またはモジュールの作成。
  • [ツール]メニューの[参照設定]コマンドを用いた、オブジェクト ライブラリまたはデータベースに対する参照の追加または削除。
  • オブジェクト ブラウザの使用。
  • AccessまたはVisual Basicのオブジェクト モデルのプロパティまたはメソッドによるコードの変更(MDEファイルにはソース コードが含まれていないため)。
  • フォーム、レポート、またはモジュールのインポートやエクスポート。ただし、テーブル、クエリー、およびマクロは、MDEファイルでないデータベースからインポートしたり、MDEファイルでないデータベースへエクスポートできます。

MDEファイルとして保存されたデータベースのフォーム、レポート、またはモジュールを修正する場合は、元のデータベースを開き、修正してから、もう一度MDEファイルとして保存します。テーブルを含むデータベースをMDEファイルとして保存すると、後でアプリケーションのデザインを変更する場合、異なるバージョンのデータと整合性をとる必要があります。したがって、MEDファイルとして保存するデータベースとして適しているのは、テーブルを含むバック エンド データベースをと残りのオブジェクトを含むフロント エンド データベースに分割されている場合のフロント エンド データベースです。

メモ データベースをMDEファイルとして保存する場合には、すべてのモジュールがコンパイルされ、作成されるデータベースは最適化されるので、データベースをMDEファイルとして保存する前にコンパイルや最適化を実行する必要はありません。

 

  1. データベースを閉じます。データベースがネットワークで共有されている場合には、ほかのユーザーがそのデータベースを閉じていることを確認してください。
  2. [ツール]メニューの[データベース ユーティリティ]をポイントし、[MDEファイルの作成]をクリックします。
  3. [MDEファイルの作成元データベース]ダイアログ ボックスで、MDEファイルとして保存するデータベースを選択して、[MDEファイルの作成]をクリックします。
  4. [MDEファイルの作成]ダイアログ ボックスで、データベースのファイル名とそのファイルの保存場所を指定して、[保存]をクリックします。元のデータベースは変更されずに、その新しいコピーが、手順4で指定されたファイル名で指定された場所にMDEファイルとして保存されます。

メモ データベースをMDEファイルとして保存しても、そのデータベースのランタイムバージョンが作成されるわけではありません。MDEデータベースを使用するには、Accessがセットアップされている必要があります。Microsoft Office 97 for Windows Developer Editionがセットアップされている場合は、データベースをMDEファイルとして保存してから、セットアップウィザードを使ってそのデータベースの配布可能なランタイム版を作成することもできます。


注意 元のデータベースのバックアップ コピーは安全な場所に保管しておいてください。MDEファイルとして保存したデータベースのフォーム、レポート、およびモジュールのデザインを修正することはできません。これらのオブジェクトのデザインを修正する必要がある場合は、元のデータベースを開いて、必要なオブジェクトを修正してから、再びMDEファイルとして保存します。また、AccessでMDEファイルとして保存したデータベースは、それよりも後のバージョンでは開くことも変換することもできません。これらの操作を行うには、元のデータベースを使います。


◆MDEファイルとして保存されるデータベースに別のタイプのセキュリティを使用する

データベースをMDEファイルとして保存する方法は、アプリケーションのコードおよびフォームやレポートのデザインの保護に適しているので、この方法を用いるとユーザーはログオンする必要はありません。また、ユーザーレベル セキュリティで必要になるユーザー アカウントおよび権限の作成や管理を行う必要もありません。ただし、データベースをMDEファイルとして保存しても、アプリケーションのテーブル、クエリー、およびマクロに対するユーザーのアクセスを制御することはできません。これらのデータベース オブジェクトに対するアクセスを制御する場合は、データベースをMDEファイルとして保存する前に、ユーザー レベルのセキュリティを設定しておく必要があります。


MDEファイルとして保存しようとしているデータベースがユーザー レベルのセキュリティで保護されている場合は、以下の条件を満たしていないと次に進むことはできません。

  • Accessを起動する前に、Accessワークグループ管理または/wrkgrpコマンド ライン オプションを使って、データベース作成時のワークグループ情報ファイルで定義されたワークグループに参加します。ワークグループ情報ファイルは、データベースにアクセスするときに使われるユーザー アカウントを定義します。

    参照 ワークグループ情報ファイルの詳細については、「14.2.1 Accessユーザー レベル セキュリティ モデル」の「ワークグループと権限情報の保存場所」を参照してください。
  • ユーザー アカウントが、[開く/実行]権限および[排他で開く]権限を持っている必要があります。
  • ユーザー アカウントが、そのデータベースのいずれかのテーブルの[構造の変更]権限または[管理者]権限を持っているか、またはそのデータベースの所有者である必要があります。
  • ユーザー アカウントが、そのデータベースのすべてのオブジェクトの[構造の読み取り]権限を持っている必要があります。

また、データベース パスワードを使って、MDEデータベースを開くことのできるユーザーを制御することもできます。MDEデータベースにデータベース パスワードを使用したり、ユーザーレベルのセキュリティを設定するには、元のデータベースに対してこれらのセキュリティを設定してからMDEファイルとして保存します。データベース パスワードやユーザーレベルのセキュリティは、新しいMDEファイルにも適用されます。

データベースをMDEファイルとして保存すると、データベース管理者も含むすべてのユーザーがフォーム、レポート、およびモジュールのデザインを修正できなくなります。これほどの制限を必要とせず、もう少し柔軟にデータベースを保護する場合は、データベースをMDEファイルとして保存しません。その代わりにユーザーレベルのセキュリティを設定します。

◆データベースのレプリカをMDEファイルとして保存する

レプリケートされたデータベース(レプリカまたはデザイン マスター)をMDEファイルとして保存することはできません。ただし、MDEファイルとして保存されたデータベースをレプリケートすることはできます。レプリケートされたデータベースをMDEファイルとして保存するには、レプリケーション システムのフィールド、テーブル、およびプロパティを削除する必要があります。


参照 レプリケーションのフィールド、テーブル、およびプロパティの削除の詳細については、オンラインヘルプの[キーワード]タブで「レプリケートデータベース、正規化」の項目を検索し、説明を参照してください。データベースのレプリケーションの詳細については、「第20章 アプリケーションでのレプリケーションの使用」を参照してください。

◆ほかのデータベースを参照するデータベースをMDEファイルとして保存する

ほかのデータベースやアドインを参照するデータベース(.mdb)またはアドイン データベース(.mda)をMDEファイルとして保存しようとすると、エラー メッセージが表示され、保存することはできません。このようなデータベースをMDEファイルとして保存するには、参照されているすべてのデータベースをMDEファイルとして保存する必要があります。参照先のデータベースが、さらに別のデータベースを参照しているときは、そのデータベースもMDEファイルとして保存する必要があります。参照先のデータベースをMDEファイルとして保存した後、その新しいMDEファイルを参照するように参照先を変更し、それから、MDEファイルとして保存します。このようにして、参照されているすべてのデータベースを保存して行きます。


たとえば、Database1.mdbがDatabase2.mdbを参照し、Database2.mdbがDatabase3.mdaを参照する場合は、以下のようにします。

  1. Database3.mdaをDatabase3.mdeとして保存します。
  2. Database2.mdbを開いて、その参照先を新しいDatabase3.mdeに変更します。
  3. Database2.mdbをDatabase3.mdeとして保存します。
  4. Database1.mdbを開いて、その参照先を新しいDatabase2.mdeに変更します。
  5. Database1.mdbをDatabase1.mdeとして保存します。

参照 ほかのデータベースの参照の詳細については、「第12章 ライブラリ データベースとDLL」の「12.1.2 ライブラリ データベースの参照」を参照してください。




▼ページトップに戻る