ACCESSを学習しています。
今回はバックエンドとフロントエンドファイルの分割について学びます。
詳細は公式のドキュメントをご覧ください。
説明
なぜファイルを分割するのか
処理速度の向上・データ破損の防止
複数人でACCESSのデータベースを使用していると、処理が遅くなったり、同じデータを同時に操作しようとしてファイルが壊れてしまうといった現象が起こります。
これらを防ぐために、バックエンドと呼ばれるファイルとフロントエンドと呼ばれるファイルに分割します。
バックエンドではテーブルを管理し、フロントエンドではフォームやクエリを管理実行します。
このようにすることで、前述の処理速度の向上とやデータ破損の可能性を減らすことができます。
継続的に開発しやすい
また、機能改善のための継続的な開発にも便利になります。
仮にファイルを分割せずに機能改善を行った場合、改善後のファイルのデータを、最後に利用者が更新した最新のデータに合わせる必要があります。
しかし、分割してフロントエンドファイル側の機能に手を加えることで、バックエンドのデータの整合性は考えずに新機能・改善後の機能を持ったフロントエンドファイルを展開することができます。
データ破損時の影響が限定的
もし、何かしらの問題が発生してデータベースが強制的に閉じられてしまったとしても、その影響は利用者が編集指定フロントエンドファイルのみに限られます。
バックエンドファイル内のデータは保全されている可能性が高まるので、信頼性が向上します。
分割したファイルはリンクテーブルでつなぐ
ACCESSにはリンクテーブルマネージャという機能があります。これを設定することでバックエンドファイルとフロントエンドファイルをつなぐことができます。
ACCESSで作成したフロントエンドファイルとACCESSで作成したバックエンドファイル、
またはACCESSで作成したフロントエンドファイルとMySQLなどのACCESS以外のバックエンドファイルなどとつなぐことができます。
手順
データベースのバックアップを取得
単純にACCESSファイルをコピーするだけで良いです。
もし、ファイルの分割中に何か問題が発生したとしてもバックアップファイルがあれば復元ができます。
データベースの分割
コピーしたファイルを開きます。(バックアップでない方のファイルであればどちらでも問題ありません。)
「データベースツール」>「ACCESSデータベース」>「データベースの分割」と順に選択します。
バックエンドファイルを作成する場所を決めます。
これでデータベースの分割が完了しました。
バックエンドファイルの作成先として指定したフォルダを見てみるとこのように3つに分かれています。
「01_test_be」はバックエンドファイルのことで、ここまでの操作で作成されたばかりのモノです。
「01_test」はデータベースの分割元となったファイルで、ここまで実際に操作を行ってきたファイルです。そしてこれがフロントエンドファイルになります。
「01_test_backup」は先ほどコピーしたファイルの名前を変えたのみです。
今後はバックエンドファイルはテーブルの管理、フロントエンドファイルは利用者が使用する機能(フォーム・クエリ・レポート)の管理を行っていきます。
意外とあっさりできましたね。
リンクテーブルマネージャでバックエンドとフロントエンドをつなぐ
フロントエンドファイルを開きます。
「外部データ」>「リンクテーブルマネージャ」>リンクするテーブルを選択>「OK」と進みます。
これでフロントエンドファイルのテーブルはバックエンド側のテーブルとつながりました。
フロントエンドファイルを更新するとバックエンドファイル側の更新ができるようになっています。
フロントエンドファイルの展開
最後に利用者にフロントエンドファイルを展開します。これは、単純にフロントエンドファイルをコピーして必要な人に渡すのみです。
共有フォルダにフロントエンドファイルを置いて各自コピーしてもらうのも良いですし、一人ずつ送付する形でも可能です。
参考
公式ドキュメントです。
Access データベースを分割する – Microsoft サポート
ACCESSの記事を一覧にしています。ACCESS VBAの正式な情報は公式ドキュメントを読むべきですが、このサイトでは実際に使う場面を想定して紹介しているので、公式ドキュメントと併せて読んでいただくと理解が深まると思います。
コメント