Access では、データベース アプリケーションを開発するために、機能豊富なプラットフォームが提供されています。 データベース アプリケーションと呼ばれるコンピューター プログラムでは、データと、ビジネス タスクのロジック (アプリケーション ロジック) に従うユーザー インターフェイスの両方を、保存および管理する方法が提供されています。 この記事では、基本的なデプロイ計画、パッケージ化と署名、データベース アプリケーションのデプロイ、 Access ランタイム環境について説明します。
目的に合ったトピックをクリックしてください
展開を計画する
始める前に、アプリケーションを展開する方法に関する次の質問に答えてください。
データとロジックを分ける必要がありますか?
データの管理とアプリケーションのロジックが 1 つのファイルに結合された Access アプリケーションを作成できます。 Access ではこれが既定のアプリケーション構造です。 データ管理とアプリケーション ロジックを 1 つのファイルに組み合わせると、最も簡単なデプロイ方法が提供されますが、この方法は、少数のユーザーが同時にアプリケーションを使用し、何らかのリスクが伴う場合にのみ最適です。 たとえば、ユーザーが誤ってアプリケーション ファイルを削除したり破損したりすると、データが失われる可能性があります。 ほとんどの場合は、データの管理とアプリケーションのロジックを分離する必要があります。 これにより、パフォーマンスと信頼性が向上します。
データとロジックを分離する方法の 1 つは、[Access データベース] コマンド ([データベース ツール] タブの [データの移動] グループ) を使用することです。 このコマンドは、データベース アプリケーションを 2 つの Access ファイルに分割します。1 つはロジック (フロントエンド) 用、もう 1 つはデータ用 (バックエンド) です。 たとえば、MySolution.accdb というデータベースは、MySolution_fe.accdb と MySolution_be.accdb という 2 つのファイルに分割されます。 バックエンド データベースは、ネットワーク フォルダーなどの共有場所に配置します。 フロントエンド ファイル (ユーザーごとに 1 つのコピー) をコンピューターに配布します。 また、さまざまなフロントエンド ファイルをさまざまなユーザーに配布することもできます。 詳細については、「 Access データベースを分割する」を参照してください。
データ管理とアプリケーション ロジックを分離するもう 1 つの方法は、データの管理にはデータベース サーバー プログラム (Microsoft SQL Server など) を使用し、アプリケーションのロジックには Access を使用することです。 詳細については、「 Access データベースを SQL Server に移行する」を参照してください。
データとロジックを分離するその他の理由は次のとおりです。
-
データの整合性とセキュリティ データとロジックを 1 つのファイルにまとめた場合、データはアプリケーション ロジックと同じリスクにさらされます。 個別のロジックファイルとデータ ファイルを使用する Access アプリケーションは、ネットワーク フォルダー上の NTFS セキュリティ機能を利用することで、データの整合性とセキュリティを保護するのに役立ちます。
Access ユーザーは、フロントエンド ファイルが配置されているフォルダーに対する読み取り、書き込み、作成、削除のアクセス許可を持っている必要があります。 ただし、フロントエンド ファイル自体に異なるアクセス許可を割り当てることができます。 たとえば、一部のユーザーに読み取り専用アクセス許可を割り当て、他のユーザーに読み取り/書き込みアクセス許可を割り当てることができます。
アプリケーションには、特定のデータにアクセスできるユーザーを制御する機能など、さらにセキュリティ オプションが必要な場合があります。 この場合、SQL Server または SharePoint を使用してアプリケーション データを格納および管理し、Access を使用してアプリケーション ロジックを提供できます。
-
拡張性 Access ファイルに許される最大サイズは 2 ギガバイト (GB) です。 テキスト データの 2 GB はかなりの量ですが、アプリケーションによっては十分ではない可能性があります。データベース レコードに添付ファイルを格納しているアプリケーションでは特にそうです。 データとロジックを分離した場合、アプリケーションはより多くのデータに対応できるようになります。 ユーザーが大量のデータを格納することが予想される場合は、複数の Access データ ファイルの使用を検討できます。
また、Access プログラムの仕様で拡張性についての他の情報を確認する必要もあります。 Access 仕様の詳細については、 Access の仕様に関する記事を参照してください。
-
ネットワーク キャパシティ 複数のユーザーがネットワーク経由で同時にアプリケーションを使用することが必要な場合は、データとロジックが 1 つのファイルにまとめられていると、データの破損が発生する可能性が高くなります。 さらに、データとロジックを 1 つの Access ファイルにまとめた場合、Access によって生成されるネットワーク トラフィックを最適化することができません。 複数のユーザーがネットワーク経由でアプリケーションを同時に使用する場合は、複数の Access ファイルを使用することにより、またはデータにはデータベース サーバー製品を使用し、アプリケーション ロジックには Access を使用することにより、データとロジックを分離する必要があります。
どのようなネットワーク環境ですか?
ネットワーク環境に適した Access データベース ソリューションを選択することは、ネットワーク環境を成功させるための重要な手順です。 次のガイドラインを使用して、ニーズに最適な選択を行うことができます。
ホーム ネットワーク
Access データベースを共有するユーザーが少ない場合は、各ユーザーがホーム ネットワークで開いて使用する 1 つのデータベースを使用できます。 詳細については、「 Windows 10 でのネットワーク経由のファイル共有」を参照してください。
ローカル エリア ネットワーク (LAN)
LAN は、通常は優れたパフォーマンスを持つ内部ネットワークですが、単一の部屋、建物、建物のグループなど、地理的に小さな領域に制限されます。 複数のユーザーが LAN 上でデータベースを共有している場合は、データベースを分割し、バックエンド データベースをネットワーク フォルダーに格納し、各ユーザーのフロントエンド データベースのコピーをデプロイすることをお勧めします。
ワイド エリア ネットワーク (WAN)
WAN には、広範な地理的領域をカバーする多くの構成が考えられます。 パブリック ネットワーク、専用回線、またはサテライトに接続されている都市全体に複数のオフィスがある場合があります。 多くの場合、仮想プライベート ネットワーク (VPN) は、自宅や道路からの安全なリモート アクセスに使用されます。 WAN を簡単に理解する方法は、LAN の外部にいて接続されている場合は常に WAN を使用することです。
Azure ファイル共有
Azure ファイル共有 は別の種類のネットワークではありませんが、ファイル サーバーを必要とせずに、ネットワーク経由でファイル共有を使用する方法を提供します。 ただし、Azure ファイル共有を使用すると、WAN で Access 分割データベースを使用するときに発生する問題と同様の問題が発生する可能性があります。
警告: レジストリ エディターまたは別の方法でレジストリを誤って変更すると、重大な問題が発生することがあります。 パフォーマンスが低下し、データベースが破損する可能性があるため、WAN または Azure ファイル共有で Access 分割データベースを使用しないでください。
WAN または Azure ファイル共有で分割データベースを使用する場合にサポートされる代替手段は次のとおりです。
-
外部ストレージにデータを格納し、次のリンク テーブルを作成します。
-
SharePoint リスト
-
SQL Server または Azure SQL
-
Dataverse
-
-
ユーザーのクライアント コンピューターに仮想 Windows デスクトップ環境を作成するリモート デスクトップ サービス (RDS) (以前はターミナル サーバーと呼ばられていました)。 RDS にはいくつかの利点があります。
-
ユーザーが多くのデバイスで使用できるリモート デスクトップ (RD) クライアントを実行しているため、Access または Access データベースのインストールは必要ありません。
-
RD はユーザー インターフェイスのみを効率的にストリーミングするシン クライアントであるため、クライアントとサーバー間のデータ転送は最小限に抑えられます。
-
ユーザーは引き続きデータをコピーして貼り付け、クライアント コンピューターからローカルにレポートを印刷できます。
-
RemoteApp は、ベンダーや現場担当者向けのターンキー アプリケーションなどの 1 つのプログラムのみを実行できます。
詳細については、「 リモート デスクトップ サービスへようこそ」を参照してください。
-
ユーザーは Access を持っていますか?
すべてのユーザーのコンピューターに Access がインストールされている場合は、他の Access データベース ファイルと同じようにアプリケーションを開いて使用できます。
一部またはすべてのユーザーがコンピューターに Access インストールされていない場合は、アプリケーションを展開するときに、 Access ランタイム ソフトウェアをそれらのユーザーに展開することもできます。 詳細については、「 Access Runtime の概要とダウンロード」を参照してください。
Access アプリケーションを展開する
Access アプリケーションをデプロイするには、次のタスクを実行する必要があります。
アプリケーション ソリューションとしてデータベースを準備する
ソリューションをロックダウンし、ナビゲーションと起動を制御し、その他の重要なオプションを設定するには、次の操作を行います。
作業 |
詳細情報 |
ユーザーがユーザー インターフェイスを移動する方法を決定する: 既定のフォームを使用する、スイッチボードを作成する、ナビゲーション フォームを使用する、ハイパーリンクとコマンド ボタンを使用する。 |
|
Office リボンとコマンド メニューをカスタマイズするかどうかを決定する |
|
一貫性のある Office テーマと背景を適用する |
|
データベースの起動を制御する |
|
重要なプロパティとオプションを設定する |
|
リージョン設定を変更する |
ヒント 詳細を確認するには、[ アクセス オプション ] ダイアログ ボックス ([ファイル > オプション]) を参照し、各タブの [ヘルプ] をクリックします。 アプリケーション ソリューションに対して制御する追加のオプションがある場合があります。
デプロイする前に
フロントエンド データベースをデプロイする前に、次のベスト プラクティスを検討してください。
-
ソリューションから最高のパフォーマンスを得るために努力してください。 詳細については、「 ヘルプ アクセスの実行の高速化 」と 「Microsoft Access パフォーマンスのヒント」を参照して、アクセス データベースを高速化する方法に関するページを参照してください。
-
データベースを圧縮して修復します。 詳細については、「 データベースの圧縮と修復」を参照してください。
-
元のデータベースの元の安全なコピーを作成できるように、データベースをバックアップします。 詳細については、「 バックアップと復元プロセスを使用してデータを保護する」を参照してください。
-
データベース ドキュメントャーを使用して、データベース オブジェクトの設計特性を印刷します。 詳細については、「 データベース設計を文書化して印刷する」を参照してください。
-
ファイルをセキュリティで保護する方法を決定します。 いくつかの方法を使用できます。
-
データベースにセキュリティ証明書を追加します。 詳細については、「 デジタル署名を追加して信頼を表示する 」および 「データベースを信頼するかどうかを決定する」を参照してください。 これを行う場合は、データベース内のメッセージ バーを制御する方法を決定します。 詳細については、「 メッセージ バーでセキュリティ アラートを有効または無効にする」を参照してください。
-
信頼できる場所を使用して、フロントエンド データベースを保存して、セキュリティ センターによってチェックされないようにするか、保護ビューで開きたくない場合に使用します。 詳細については、「 信頼できる場所を追加、削除、または変更する」を参照してください。
-
データベース ファイルを暗号化します。 詳細については、「 データベース パスワードを使用してデータベースを暗号化する」を参照してください。
-
ユーザーがフォーム、レポート、または VBA コードのデザインを変更できないようにするには、コンパイル済みバイナリ ファイル (.accde) の使用を検討してください。
-
使用するファイル形式を決定する
アプリケーションを展開するときは、4 種類の Access ファイル形式を使用できます。
-
.accdb これは、Access の既定のファイル形式です。 この形式でアプリケーションを展開すると、ユーザーには、選択したあらゆる方法でアプリケーションをカスタマイズしたり、アプリケーション内を移動したりする、ほとんどのオプションが提供されます。 ユーザーがアプリケーションのデザインを変更できないようにする場合は、.accde ファイル形式を使用する必要があります。 さらに、.accdb ファイルではそれがパッケージ化された後で変更されたかどうかをユーザーは簡単に特定できないため、それがはっきりとわかるようにするには、.accdc ファイル形式を使用します。
-
.accdc この形式は、Access 展開ファイルとも呼ばれます。 Access 展開ファイルは、アプリケーション ファイルと、そのファイルに関連付けられているデジタル署名で構成されます。 このファイル形式では、それがパッケージ化された後で誰もアプリケーション ファイルを変更していないことが、ユーザーに対して保証されます。 この形式は、既定の形式の Access ファイル (.accdb)、または Access のコンパイル済みバイナリ ファイル(.accde) に対して、適用できます。 詳細については、「 デジタル署名を追加して信頼を表示する」を参照してください。
Access 展開ファイルに含めることができるアプリケーション ファイルは 1 つだけです。 アプリケーションでデータ ファイルとロジック ファイルが分かれている場合は、個別にパッケージ化できます。
-
.accde この形式は、コンパイル済みバイナリ ファイルとも呼ばれます。 Access でのコンパイル済みバイナリ ファイルは、すべての VBA コードがコンパイルされて保存されているデータベース アプリケーション ファイルです。 Access のコンパイル済みバイナリ ファイルには VBA のソース コードは残っていません。 .accde ファイルを使用すると、設計とコードの変更を防ぎ、データベースのサイズを小さくし、パフォーマンスを向上させることができます。 詳細については、「 ユーザーから VBA コードを非表示にする」を参照してください。
Access のコンパイル済みバイナリ ファイルは、Access Runtime を使用して開くことができます。 ランタイムが .accde ファイル名拡張子を認識しない場合は、ランタイムを指すショートカットを作成してバイナリ ファイルを開き、ショートカットを開くコンパイル済みバイナリ ファイルへのパスを含めます。
重要 以前のバージョンで追加された機能が以前のバージョンでサポートされていない場合、以前のバージョンの Access を使用してコンパイルされたバイナリ ファイルを開くことができない。 この問題を解決するには、ユーザーがインストールした Access バージョンでバイナリ ファイルをコンパイルします。
-
.accdr この形式では、ランタイム モードで開くアプリケーションを展開できます。 ランタイム アプリケーションを展開すると、アプリケーションが使用される方法を制御できますが、それはアプリケーションを保護するための手段ではありません。 ランタイム モードの詳細については、「Access Runtime について理解する」を参照してください。
Access フロントエンド データベースのインストールとアップグレード
分割データベース設計を採用する場合は、フロントエンド データベースを各ユーザーに配布する必要があります。 作業を円滑に進めるために、次のベスト プラクティスを検討してください。
-
各ユーザーが正しいバージョンの Access を持ち、フロントエンド データベースが正しいバージョンで開かれることを確認します。 Access には、32 ビットバージョンと 64 ビット バージョンもあります。 不適切な "ビット数" を実行すると、Windows API 呼び出し、DLL ライブラリ参照、および ActiveX コントロールに影響する可能性があります。 詳細については、「64 ビット版または 32 ビット版の Office を選択する」を参照してください。
-
データベース ドライバー、セットアップと構成用のバッチ ファイル、アプリケーション関連のファイルなど、必要になる可能性がある他のファイルのインストール パッケージを作成します。 詳細については、「 インストール パッケージの作成」を参照してください。
-
ユーザーが Access ソリューションをすばやく実行できるように、Windows デスクトップ ショートカットを指定します。 フォルダーの場所、わかりやすいショートカット名、説明、アイコンをショートカットに含めます。 詳細については、「 Office プログラムまたはファイルのデスクトップ ショートカットを作成する」を参照してください。
-
更新が必要な場合にフロントエンド データベースを再デプロイして置き換える効果的な方法を決定し、変更を追跡するためにファイルのバージョンを維持します。 たとえば、VBA コードを追加して新しいバージョンを確認し、ユーザーがアプリケーションを起動する前でも自動的にアップグレードできます。
-
接続文字列を含む DSN ファイルを使用して ODBC 接続を作成する場合は、その DSN ファイルも各クライアント コンピューターにインストールする必要があります。 もう 1 つの方法は、VBA コードで "DSN レス" 接続を作成して、DSN ファイルを不要にすることです。 詳細については、「 DSN-Less 接続の使用」を参照してください。
Access ランタイムを理解してダウンロードする
ユーザーのコンピューターに Access をインストールせずに実行できる Access アプリケーションを展開するには、Microsoft ダウンロード センターから無料で利用できる Access ランタイムと共に配布できます。 Access Runtime を使用して Access データベースを開くと、データベースはランタイム モードで開きます。
ランタイム モードは、Access の特定の機能が既定で利用できなくなっている Access の動作モードです。 ただし、このような使用できない機能の一部は、ランタイム モードで使用可能にすることができます。
ランタイム モードで使用できない機能
Access の以下の機能は、ランタイム モードでは使用できません。
-
特殊なキー Ctrl + Break、Ctrl + G、Shift キーなどのキーを使用して、データベースのスタートアップ オプションをバイパスします。
-
ナビゲーション ウィンドウ ナビゲーション ウィンドウはランタイム モードでは使用できません。 これは、データベース アプリケーションの任意のオブジェクトにユーザーがアクセスするのを防ぐのに役立ちます。 ランタイム モードの使用中に開くことができるのは、ナビゲーション フォームを提供するなど、ユーザーに公開するオブジェクトだけです。 ランタイム モードでは、ナビゲーション ウィンドウを使用できるようにすることはできません。
-
リボン 既定では、リボンをランタイム モードで使用することはできません。 これにより、ユーザーがデータベース オブジェクトを作成または変更すること、および新しいデータ ソースへの接続や意図されていない方法でのデータのエクスポートなどの他の潜在的に危険な操作を実行することを、防ぐことができます。 ランタイム モードで既定のリボン タブを公開することはできません。 ただし、カスタム リボンを作成し、そのリボンをフォームまたはレポートに関連付けることができます。 詳細については、「 Access でカスタム リボンを作成する」を参照してください。
-
デザイン ビューとレイアウト ビュー ランタイム モードでは、すべてのデータベース オブジェクトに対してデザイン ビューとレイアウト ビューを使用できません。 これは、データベース アプリケーションでのオブジェクトのデザインをユーザーが変更するのを防ぐのに役立ちます。 ランタイム モードでは、デザイン ビューまたはレイアウト ビューを有効にすることはできません。
-
ヘルプ 既定では、統合されたヘルプをランタイム モードで使用することはできません。 ランタイム モードのアプリケーションで使用できる機能は管理者が制御するので、Access の統合された標準ヘルプの中には、アプリケーションを使用するユーザーには関係ないものが存在し、ユーザーに混乱や不満を感じさせる可能性がある場合があります。 独自のカスタム ヘルプ ファイルを作成して、ランタイム モード アプリケーションを補完できます。
ランタイム モードをシミュレートするにはどうすればよいですか?
Access の完全バージョンがインストールされているコンピューターであれば、すべての Access データベースをランタイム モードで実行できます。 Access データベースをランタイム モードで実行するには、次のいずれかの操作を行います。
-
データベース ファイルのファイル名拡張子を、.accdb から .accdr に変更します。
-
/Runtime コマンド ライン スイッチを使用して、データベースへのショートカットを作成します。
-
Windows デスクトップで右クリックし、[ 新しい > ショートカット] を選択 します。
-
MSAccess.exe の場所、データベースの場所、 および /runtime コマンド修飾子を入力します。 次に例を示します。
"C:\Program Files\Microsoft Office\MSACCESS.EXE" "C:\MyDB.accdb" /runtime
詳細については、「 Office プログラムまたはファイルのデスクトップ ショートカットを作成する」を参照してください。
-
ランタイム モードではデータベースのセキュリティが強化されますか?
ランタイム モードでは利用できるナビゲーション機能とデザイン機能が制限されますが、データベース アプリケーションを保護する主な手段としてランタイム モードを使用してはいけません。 完全バージョンの Access がインストールされているコンピューターでは、ユーザーがランタイム データベース アプリケーションを通常のデータベース アプリケーションとして開き (つまり、すべての機能が利用可能な状態)、デザインを変更したり、他の望ましくない操作を実行したりする可能性があります。
完全バージョンの Access がインストールされていないコンピューターにだけデータベース アプリケーションを展開したとしても、ユーザーは、完全バージョンの Access がインストールされているコンピューターにアプリケーションを転送し、ランタイム データベース アプリケーションを通常のデータベース アプリケーションとして開くことができます。
Access Runtime をダウンロードする
注: Access 2019 Enterprise の場合は、ランタイムをダウンロードしてインストールしないでください。これにより、完全版の Access がランタイムのみに置き換えられます。 代わりに、 Office 展開ツール を使用して、AccessRuntimeRetail 製品がインストールされていることを指定します。
Microsoft ダウンロード センターから Access ランタイムをダウンロードするには、お使いのバージョンに適したリンクをクリックします。
-
Office 365 Access Runtime をダウンロードしてインストールする
メモ このアクセス ランタイムは、Office 2019 コンシューマー ライセンスにも適用されます。
Access Runtime をダウンロード、使用、または再配布するために購入する必要はなく、Runtime を配布する相手のユーザーの数に制限はありません。
インストール パッケージを作成する
Access のバージョンに応じて、いくつかの方法を使用できます。
一般的なインストール パッケージを使用する
新しいバージョンの Access の場合は、 Windows インストーラー を使用するか、インストール パッケージを作成するサード パーティ製プログラムを検索できます。