Access 2007 アプリケーションを展開する
更新日: 2008年7月
適用対象: Office Resource Kit
トピックの最終更新日: 2008-07-17
この記事の内容 :
データとロジックを分離する
Access 2007 ランタイムを使用する
使用するファイル形式を決定する
アプリケーションをパッケージ化する
この記事では、Microsoft Office Access 2007 を使用して作成するデータベース アプリケーションの展開計画について、Access 2007 ランタイムの機能と共に説明します。ユーザーのコンピュータに Office Access 2007 をインストールしないで実行できる Office Access 2007 アプリケーションを展開するために、これらのアプリケーションを Access 2007 ランタイムと共に配布できます。このランタイムは「Access 2007 ダウンロード: Access Runtime」からダウンロードできます。
データとロジックを分離する
データ管理とアプリケーション ロジックを 1 つのファイルにまとめた Office Access 2007 アプリケーションを作成できます。これは Office Access 2007 の既定のアプリケーション構造です。データ管理とアプリケーション ロジックを 1 つのファイルにまとめると展開は単純になります。しかし、この方法が最適なのは一度に 1 人のユーザーのみがアプリケーションを使用する場合であり、多少のリスクが伴います。たとえば、ユーザーが誤ってプログラム ファイルを削除したり、ファイルが損傷するなどが原因でデータが失われることがあります。
ほとんどの場合は、データ管理とアプリケーション ロジックを分離する必要があります。こうすることで、以下の点が強化されます。
セキュリティ : データ格納用のサーバーを使用して、データのセキュリティを維持できます。
パフォーマンス : 分割したデータベースまたはデータベース サーバーを使用して、ネットワーク トラフィックを低減できます。
カスタマイズ性 : ナビゲーション ウィンドウ用の新しいマクロ アクションを使用して、データを表示できるユーザーと対象データを制御できます。また、各ユーザーに異なるアプリケーション ロジック ファイルを配信できます。
ポータビリティ : オフライン作業および同期コマンドは、オフィス外で作業するユーザーに役立ちます。
データとロジックを分離する方法の 1 つとして、[Access データベース] コマンド ([データベース ツール] タブの [データベース ツール] グループ内) を使用して、データベース アプリケーションをデータ用とロジック用の 2 つの Office Access 2007 ファイルに分割する方法があります。[Access データベース] を使用すると、Office Access 2007 によって、ファイル名の最後にバックエンド "back-end" を意味する "_be" が付いたファイルが作成されます。たとえば、元のデータベース ファイル名が "Database1.accdb" の場合、Office Access 2007 によって "Database1_be.accdb" という名前の新しいデータベース ファイルが作成されます。
データ管理とアプリケーション ロジックを分離するもう 1 つの方法は、データ管理に Microsoft SQL Server などのデータベース サーバー プログラムを使用し、アプリケーション ロジックに Office Access 2007 を使用する方法です。
データ管理とアプリケーション ロジックの両方を 1 つの Office Access 2007 ファイルで行っても問題ないかどうかを判断するには、以下について検討します。
データ整合性とセキュリティ: Office Access 2007 ユーザーは、アプリケーション ロジックを含むファイルに対する読み取り/書き込みのアクセス許可が必要です。データとロジックを 1 つのファイルにまとめると、データもアプリケーション ロジックと同じリスクにさらされます。別々のロジック ファイルとデータ ファイルを使用する Office Access 2007 アプリケーションでは、NTFS セキュリティ機能を利用してデータの整合性とセキュリティを保護できます。ユーザーに必要なのはアプリケーション ロジック ファイルのみに対する明示的な読み取り/書き込みアクセス権限なので、データ ファイルのセキュリティが高まります。
アプリケーションによっては、特定のデータにアクセスできるユーザーを制限する機能など、追加のセキュリティ オプションが必要になることがあります。この場合は、SQL Server や Windows SharePoint Services 3.0 機能を搭載した Windows サーバー オペレーティング システムなどのサーバー製品を使用してアプリケーション データの保存と管理を行い、アプリケーション ロジックの管理には Office Access 2007 を使用します。
スケーラビリティ: Office Access 2007 ファイルの最大サイズは 2 GB です。2 GB という容量はテキスト データには十分ですが、データベース レコードに添付ファイルを格納するようなアプリケーションには十分でないことがあります。データとロジックを分離すると、アプリケーションに格納できるデータの量が増えます。ユーザーが大量のデータを保存することが予想される場合は、複数の Office Access 2007 データファイルを使用することを検討してください。スケーラビリティに関するその他の情報については、Office Access 2007 プログラムの仕様を確認してください。
ネットワーク キャパシティ: 複数のユーザーがネットワーク経由で同じアプリケーションを同時に使用する必要がある場合に、データとロジックを 1 つのファイルにまとめると、データの破損が発生することがあります。また、データとロジックを 1 つの Office Access 2007 ファイルにまとめた場合は、Office Access 2007 によって生じるネットワーク トラフィックは最適化できません。複数のユーザーがネットワーク経由で同じアプリケーションを同時に使用する場合は、データとロジックを分離してください。そのためには、複数の Office Access 2007 ファイルを使用するか、データ用にデータベース サーバー製品を使用し、アプリケーション ロジック用に Office Access 2007 を使用します。
Access 2007 ランタイムを使用する
すべてのユーザーのコンピュータに Office Access 2007 をインストールする場合は、どのユーザーも Office Access 2007 データベース ファイルと同じようにアプリケーションを開いて使用できます。Office Access 2007 をインストールしないコンピュータがある場合、そのようなコンピュータのユーザーに対しては、アプリケーションの展開時に Access 2007 ランタイム ソフトウェアを展開する必要があります。Access 2007 ランタイムは「Access 2007 ダウンロード : Access Runtime」からダウンロードできます。
Access 2007 ランタイムは再配布可能なプログラムです。ランタイムを使用すると、コンピュータに Office Access 2007 がインストールされていなくても Office Access 2007 データベース アプリケーションを使用できます。Access 2007 ランタイムを使用して Office Access 2007 データベースを開いた場合、データベースはランタイム モードで開かれます。ランタイム モードとは、Office Access 2007 の動作モードの 1 つであり、このモードでは既定で Office Access 2007 の一部の機能を使用できなくなります。ただし、既定で使用できない機能の中にも、ランタイム モードで使用可能にできるものがあります。
ランタイム モードでは、Office Access 2007 の次の機能を使用できません。
ナビゲーション ウィンドウ : ナビゲーション ウィンドウは、ランタイム モードでは使用できません。この動作によって、ユーザーがデータベース アプリケーションの任意のオブジェクトにアクセスすることを防ぎます。ランタイムモードの使用中は、メニュー用フォームなどで公開されているオブジェクトだけを開くことができます。ナビゲーション ウィンドウをランタイムモードで使用可能にすることはできません。
リボン : 既定では、リボンはランタイム モードで使用できません。これにより、ユーザーがデータベース オブジェクトの作成や変更を行ったり、その他の問題を引き起こす可能性のある操作 (開発者が意図しない方法での新しいデータ ソースへの接続やデータのエクスポートなど) を行ったりすることを防ぎます。開発者は、独自のリボンを作成し、フォームやレポートに関連付けることができます。ランタイム モードでは、既定のリボンのタブは表示できません。
デザイン ビューとレイアウト ビュー : ランタイム モードでは、すべてのデータベース オブジェクトでデザイン ビューとレイアウト ビューを利用できません。これにより、データベース アプリケーションのオブジェクトのデザインをユーザーが変更するのを防ぎます。ランタイム モードでは、デザイン ビューとレイアウト ビューを使用可能にすることはできません。
ヘルプ : 既定では、ランタイム モードでは統合ヘルプを使用できません。ランタイム モードのアプリケーションで使用できる機能は開発者によって制御されるため、標準の Office Access 2007 の統合ヘルプに、そのアプリケーションを使用するユーザーには不適切な内容が含まれていることがあり、ユーザーの混乱や不満につながるおそれがあります。Access 2007 Developer Extensions を使用してデータベース アプリケーションのパッケージ化と展開を行う場合は、ランタイム モード アプリケーションにカスタム ヘルプ ファイルを搭載できます。
製品版の Office Access 2007 がインストールされているコンピュータでは、任意の Office Access 2007 データベースをランタイム モードで実行できます。Office Access 2007 データベースをランタイム モードで実行するには、次のどちらかの操作を行います。
データベース ファイルの拡張子を .accdb から .accdr に変更する。
データベースへのショートカットを作成し、そのショートカットに /Runtime コマンド ライン スイッチを指定する。
ランタイム モードでは使用できるナビゲーション機能やデザイン機能が制限されますが、データベース アプリケーションのセキュリティを強化するための主な手段としてランタイム モードを使用することはお勧めしません。製品版の Office Access 2007 がインストールされているコンピュータでは、ユーザーがランタイム データベース アプリケーションを通常の (すべての機能を利用できる) データベース アプリケーションとして開くことができるので、デザインの変更やその他の望ましくない操作が実行される可能性があります。
データベース アプリケーションの展開先を製品版の Office Access 2007 がインストールされていないコンピュータに限定しても、ユーザーは、そのアプリケーションを製品版の Office Access 2007 がインストールされているコンピュータに転送し、ランタイム データベース アプリケーションを通常のデータベース アプリケーションとして開くことができます。
配布した Office Access 2007 アプリケーションのフォーム、レポート、または Microsoft Visual Basic for Applications (VBA) モジュールをユーザーが変更できないようにするには、コンパイル済みバイナリ ファイル (.accde) を使用することを検討してください。コンパイル済みバイナリ ファイルの使用方法の詳細については、「使用するファイル形式を決定する」を参照してください。
使用するファイル形式を決定する
アプリケーションを展開するときに、次の 4 つの Office Access 2007 ファイル形式を使用できます。
.accdb : Office Access 2007 の既定のファイル形式です。この形式でアプリケーションを展開すると、ユーザーがアプリケーションのカスタマイズとナビゲーションを行う際の選択肢が最も多くなります。ユーザーによってアプリケーションのデザインが変更されないようにするには, .accde ファイル形式を使用してください。また, .accdb ファイル形式では、パッケージ化後にファイルが変更されていないかどうかをユーザーが簡単に確認することはできません。これをわかりやすくするには, .accdc ファイル形式を使用してください。
.accdc: Access 展開ファイルとも呼ばれるファイル形式です。Access 展開ファイルは、アプリケーションファイルと、そのファイルに関連付けられたデジタル署名で構成されます。このファイル形式は、アプリケーション ファイルがパッケージ化後に変更されていないことをユーザーに対して保証するものです。この形式は、既定の Office Access 2007 ファイル形式 (.accdb) に適用することも、Office Access 2007 コンパイル済みバイナリ ファイル (.accde) に適用することもできます。Access 展開ファイルに格納できるアプリケーション ファイルは 1 つだけです。データ ファイルとロジック ファイルが分離されている場合は、個別にパッケージ化できます。Access 展開ファイルの使用方法の詳細については、「Access 2007 データベースをパッケージ化して署名する」を参照してください。
.accde: コンパイル済みバイナリ ファイルとも呼ばれる形式です。Office Access 2007 でのコンパイル済みバイナリ ファイルとは、すべての VBA コードがコンパイルされた状態で保存されたデータベース アプリケーション ファイルです。Office Access 2007 コンパイル済みバイナリ ファイルには、VBA ソース コードは残っていません。Office Access 2007 コンパイル済みバイナリ ファイルは、Access 2007 ランタイムを使用して開くことができます。ただし、既定では、ファイル名拡張子 .accde はこのランタイムでは認識されません。Access 2007 ランタイムを使用してコンパイル済みバイナリ ファイルを開くには、このランタイムを参照するショートカットを作成し、そのショートカットに目的のコンパイル済みバイナリ ファイルへのパスを指定する必要があります。
重要 Service Pack 1 を適用済みの Office Access 2007 を使用してコンパイル済みバイナリ ファイルを作成した場合は、Service Pack 1 が未適用の製品版 Office Access 2007 では、そのコンパイル済みバイナリ ファイルを開くことができません。この問題を解決するには、ユーザーが Service Pack 1 を適用する必要があります。 .accdr: この形式を使用すると、ランタイム モードで開くアプリケーションを展開できます。ランタイム アプリケーションを展開すると、アプリケーションの使用方法を制限できますが、アプリケーションのセキュリティを強化する手段にはなりません。
アプリケーションをパッケージ化する
アプリケーションのインストール方法としては、データベース アプリケーション ファイルをアプリケーション ユーザーに提供する方法が最も簡単です。ただし、多数のユーザーにアプリケーションを展開する場合や、1 つのアプリケーションを複数回展開する場合は、Access 2007 Developer Extensions の Package Solution ウィザードなどのソフトウェア パッケージ化ユーティリティを使用して、アプリケーションを Windows インストーラ パッケージ (.msi ファイル) としてパッケージ化することを検討してください。この方法により、パッケージを使用してアプリケーションをインストールできるようになります。
Package Solution ウィザードでは、次のような操作を行うことができます。
アプリケーションへのカスタム ショートカットを作成できます。この機能により、Access 2007 ランタイムを使用してアプリケーションを実行するユーザーが、コンパイル済みバイナリ ファイルを簡単に開けるようになります。
インストール フォルダを信頼できる場所として追加できます。
ユーザーのコンピュータに Access 2007 ランタイムがインストールされていない場合に、これを自動でインストールできます。
カスタム ヘルプ ファイルなどのファイルをアプリケーションに組み込むことができます。
レジストリ キーの作成や変更を行うことができます。
マイクロソフト ソフトウェア ライセンス条項を配布できます。
コントロール パネルの [プログラムの追加と削除] の一覧に、アプリケーションに関する情報を追加できます。
分割データベースをパッケージ化する
Access 2007 Developer Extensions の Package Solution ウィザードは、複数のインストール パスには対応していません。アプリケーションがデータ コンポーネントとロジック コンポーネントに分離されていて、そのアプリケーションを Access 2007 Developer Extensions を使用してパッケージ化する場合は、ファイル サーバーなどの適切な場所に Office Access 2007 データ ファイルを手動でインストールすることが必要になる場合があります。
データ コンポーネントとロジック コンポーネントが分離されたアプリケーションでは、リンク テーブルを使用してこの 2 つのコンポーネントを接続します。それぞれのネットワークは構成が異なるため、両方のコンポーネントのインストール パスを指定するのは実用的ではありません。通常、Package Solution ウィザードは、ロジック コンポーネントをパッケージ化するためにのみ使用します。
2 つのコンポーネントのインストール パスに関して必要な情報が揃っている場合は、Package Solution ウィザードを使用して 2 つのインストール パッケージを作成し、それぞれのコンポーネントのインストール パスを指定することもできます。
Access 2007 データベースをパッケージ化して署名する
Office Access 2007 では、以前のバージョンの Access と比べて、データベースの署名と配布をすばやく簡単に行うことができます。.accdb ファイルまたは .accde ファイルを作成したら、ファイルをパッケージ化し、パッケージにデジタル署名を適用して、署名済みパッケージを他のユーザーに配布できます。パッケージ化して署名する機能を使用すると、Access 展開 (.accdc) ファイルがデータベースに配置され、パッケージの署名が行われ、コード署名されたパッケージがユーザーのコンピュータ上の指定した場所に配置されます。これにより、ユーザーはパッケージからデータベースを抽出し、(パッケージ ファイル内ではなく) データベース内で直接作業できるようになります。
[!メモ] この機能も "パッケージ化" と呼ばれますが、Access 2007 Developer Extensions の Package Solution ウィザードによるパッケージ化の処理とは異なります。このセクションで説明する機能は、Office Access 2007 ファイルをパッケージ化し、そのパッケージにデジタル署名を適用して、ファイルが信頼できることをユーザーに示すものです。
パッケージの作成と署名を行うときは、次の点に注意してください。
データベースをパッケージ化し、パッケージに署名することは、信頼を伝える方法です。パッケージを受け取ったユーザーは、データベースが改ざんされていないことを署名によって確認できます。作成者を信頼できる場合は、コンテンツを有効にできます。
パッケージ化して署名する新機能は、Office Access 2007 ファイル形式で保存されたデータベースにのみ適用されます。Office Access 2007 には、以前のバージョンの Microsoft Office のツールも用意されており、これらを使用すると以前のファイル形式で作成されたデータベースに署名して配布できます。ただし、以前のバージョンの Office のツールを使用して、新しい Office Access 2007 ファイル形式で作成したファイルに署名して展開することはできません。
1 つのパッケージに追加できるデータベース ファイルは 1 つだけです。
データベースをパッケージ化して署名すると、マクロやコード モジュールだけでなく、そのデータベース ファイルのすべてのオブジェクトがコード署名されます。パッケージ化と署名の処理では、パッケージ ファイルの圧縮も行われ、ダウンロード時間の短縮に役立ちます。
Windows SharePoint Services 3.0 を実行しているサーバー上にあるパッケージ ファイルから、データベースを抽出できます。
署名済みパッケージを作成するには、パッケージ化して署名するデータベースを開きます。
[!メモ] これらの手順を実行するには、セキュリティ証明書が少なくとも 1 つ必要です。コンピュータに証明書がインストールされていない場合は、SelfCert ツールを使用して証明書を作成できます。プライベート セキュリティ証明書の作成方法の詳細については、「Access データベースを保護する」を参照してください。
署名済みパッケージを作成する
[Microsoft Office ボタン] をクリックし、[発行] をポイントしてから、[パッケージ化して署名] をクリックします。
[証明書の選択] ダイアログ ボックスで、デジタル証明書を選択し、[OK] をクリックします。[Microsoft Office Access 署名済みパッケージの作成] ダイアログ ボックスが表示されます。
[保存先] ボックスの一覧で、署名済みデータベース パッケージを保存する場所を選択します。
[ファイル名] ボックスに署名済みパッケージの名前を入力し、[作成] をクリックします。Office Access 2007 によって, .accdc ファイルが作成され、選択した場所に保存されます。