データベースソフトMicrosoft Accessを利用して様々な業務効率化を考えることができますが、今回は、代表的なデータベース構造を提案します。
どういう形でデータベースを設計したら良いか?迷っているような方への参考となれば良いと思っています。
※今回はあくまでデータベース全体の流れの紹介になります。
データベースの構造
紹介する構造としては、2種類の構造を提案します。
その構造は〝単一データベース完結型〟と〝複数データベース共有型〟です。
これらの名称は私が勝手につけた名称になりますが、特徴はその名の通り、一つのデータベースだけで完結させるやり方と、複数のデータベースをリンクテーブル等を使って共有させるやり方です。
単一データベース完結型
単一データベース完結型の定義は前述の通り、一つのデータベースだけで完結させるやり方です。
このやり方は、データベースを利用するのが、一人あるいは端末一台の時にはこのやり方が手間がかからず良いと考えています。
例えば、生産現場では紙で提出する日報の改善として、Accessを利用するとしたら、それはこの単一データベース完結型で十分かもしれません。
では、実際に単一データベース完結型のデータベースでは、どのような構造が構築できるのでしょうか。
フォーム入力⇒レポート出力
まず、簡単に思い浮かぶのは、入力したものをレポートとして出力する構造です。
図示すると下図のようになります。
フォーム入力後のアクションは複数選ぶことができ、例えば入力したら、直後に自動的に処理を行う場合や、ボタンを押してから処理を行う場合などを設定することができます。
また、データ処理完了後のアクションとしても、色々考えることができ、例えば処理を行って、そのままレポートを出力する場合と、一度画面に戻ってから、出力ボタンを押したらレポートを出力する場合などを設定することができます。
この処理を作成する例としては、個人的な日報を作成する場合や、製造現場での不良数や不良要因を日報として提出する場合などが考えられます。
もちろん、それらの情報を複数端末で共有する場合、複数データベース共有型にして設計する必要があります。
フォーム入力⇒csv出力
次に、フォームで入力した後、csvなどのテキストファイルとして出力する構造です。
図示すると下図のようになります。
こちらも、先ほどの入力と同様に、フォーム入力後のアクションは選ぶことができますので、必要に応じて設定してください。
これを利用する例としては、現状会社で使用している大本のプログラムは決まっていて、そのプログラムにcsvなどのテキスト入力の仕様が組み込まれている場合が挙げられます。
莫大なデータを手入力していたところを、csvのようなテキスト入力で対応することで、大幅な作業効率化を進めることができます。
私も、このようなテキスト出力の処理を作成して、日々1時間程度の作業効率化を達成しました。(処理としてはもっと複雑ですが)
csv入力⇒レポート出力
csv入力後、レポート出力する構造です。
図示すると下図のようになります。
ある特定のフォルダにcsvを保存しておいて処理を実行するパターンと、フォームでcsvの保存先やファイル名を指定して処理を実行するパターンを考えることができます。
前者の場合、はフォームにボタンを配置して、そのボタンを押して処理を実行するパターンと、AutoExecマクロを利用して、Accessの起動時に自動的に処理を実行するパターンを考えることができます。
この処理を利用する例としては、今会社で利用しているプログラムにデータのcsv(テキスト)出力機能がある場合で、そのデータを集計表や分析に利用することが考えられます。
csv入力⇒csv出力
csvで入力して、csvで出力する場合の構造です。
図示すると下図のようになります。
この構造も、先ほどのcsv入力⇒csv出力の場合と同じで、先頭の処理をいくつか考えることができます。
この構造を利用する例としては、今会社にあるプログラムにcsv出力機能が備わっており、それでダウンロードしたデータを用いて、別の形式・データに変換、その後再度会社にあるプログラムにcsvで入力する処理が考えられます。
この他にも、テーブルに直接データを入力したり、コピーペーストでデータを貼り付けたり、色々実施することができます。
自分の改善したい処理に合わせて、作ってみてください。
複数データベース共有型
複数データベース共有型の定義は前述の通り、複数のデータベースでデータを共有するやり方です。
Accessのリンクテーブルを利用して、複数のデータベースでデータの入力や出力を行えるように設計します。
複数端末、複数人でデータを利用する場合、こちらで設計することをお勧めします。
この場合、他端末で共有するデータはネットワークドライブなど共有できる場所に保存している必要があります。
では、実際に複数データベース共有型ではどのような構造のデータベースを構築することができるのでしょうか。
フォーム入力⇒データ蓄積⇒複数端末でレポート出力
まず、フォームで入力した後、データを共有サーバー等に蓄積させて、複数端末でレポートを出力する場合の構造です。
図示すると下図のようになります。
このように、入力するデータベースの他に、蓄積データベースを共有サーバーに準備し、各端末にレポート出力処理のデータベースを保存しておく必要があります。
この構造の利用シーンとしては、プロジェクトの進捗状況を管理する場合等に、プロジェクトの分担をデータベースに入力し、それをメンバーに共有する場合などが考えられます。
csv入力⇒データ蓄積⇒複数端末でレポート出力
次に、csvでデータを入力して、そのデータを共有サーバーに蓄積させ、各端末でレポートを出力する場合の構造です。
図示すると下図のようになります。
こちらも、先ほどの構造同様に、蓄積データベースを共有サーバーに保管した上で、各端末にレポートを出力するデータベースを保存しておく必要があります。
この構造の利用シーンとしては、今会社で使用しているプログラムのcsv出力機能を利用して、製造現場での生産指示を各作業場の端末で出力する場合などが考えられます。
フォーム入力⇒共有のマスタデータベース参照⇒レポート出力
最後に、フォームで入力した後、マスタデータを参照し、最終結果をレポートに出力する構造です。
図示すると下図のようになります。
この構造の場合、事前にマスタデータとなるデータを共有サーバー等に保存しておく必要があります。
マクロを実行した際、そのマスタデータを参照し、参照した結果をレポートに出力するような構造です。
マスタデータを個別PCではなく、共有サーバーに保管することで、情報の最新化が図れます。
この構造の利用シーンとしては、顧客情報や製品情報など、会社共通で利用するデータがある場合で、その情報を必要としているときに利用することが考えられます。
まとめ
今回は、Accessを利用したデータベース構造の紹介・提案を行いました。
この処理の中身はかなり複雑に作りこむことができるので、利用シーンに応じたデータベース設計を行うことで、業務改善が図れると思います。
コメント