ACCESSを使った業務システムの作り方

ACCESSは小規模なデータベースを作成するためのソフトウェアです。
ACCESSを使えば、様々な業務を効率化できる業務システムを作ることができます。
今回は、ACCESSを使った業務システムの作り方をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSで実際に作成したフォームやレポートを、その作成方法と共にご紹介していきます。
目次
ACCESSによる業務の効率化
ACCESSは非常に柔軟性の高いデータベースソフトウェアです。
データベースというとデータをためるだけの箱のように感じるかもしれませんが、ユーザーが利用するための使いやすい入力や検索、集計画面を作ることができますし、印刷用の帳票作成も可能です。
また、データベースソフトウェアとしては非常に安価(数万円)で購入でき、その他のOfficeソフトと同様にパソコンにインストールするだけで利用できるため、高度なデータベースの知識が無い方でも使いこなすことができる便利なソフトウェアです。
そのため、これまで紙やExcelで管理していて非効率だと感じている業務を効率化する際には、選択肢の一つしてとても有力です。
外注で業務システムを構築するとなると数百万円レベルのコストがかかる可能性も高く、まずはACCESSを使ってみるのはコストの面からも、自社業務への適応性の面からもよいでしょう。
ACCESSで作成可能な業務システム
ACCESSは前述の通り非常に柔軟性が高いソフトウェアです。
そのため、どんなシステムでも作れてしまいます。
その中でも特にACCESSで作成することが多い業務システムをご紹介します。
顧客管理
顧客情報(住所、氏名、年齢)や購入履歴、コンタクト履歴の一覧化

売上管理
売上情報の入力、見積書・納品書・請求書の発行、入金管理

売上データの集計・分析
売上データの月別・商品別・顧客別集計
別のEPRシステムから出力されたデータをACCESSで見やすいように加工

商品管理
商品情報、価格や写真の入力、一覧管理

在庫管理
仕入情報や在庫情報の管理、棚卸
生産管理
製造工程の進捗状況の可視化、部材の管理
勤怠管理
勤務時間や年次休暇消化状況などの管理
従業員管理
従業員の職位や給与、資格情報の管理
実験データの管理
研究開発や実験時の前提条件や結果の管理
ACCESSの利用に向いている環境・業務
ACCESSは様々な業務システムを作成できますが、特に以下のような環境・業務がACCESSの利用に向いています
複数人で大量のデータを参照・更新する業務
最も適している業務は複数人で大量のデータを参照・更新する業務です。
売上管理や請求書発行、顧客管理や在庫管理、生産工程管理など。
もちろんExcelでもこうした業務の管理はできますが、複数人での更新においてはデータが多くなると動作が重い、誰かがデータや機能を壊してしまう、というったリスクがあり、ACCESSが向いています。
ルール化された定例処理
次に、ルール化された定例処理が向いています。
これはACCESSに限らず、ExcelでもマクロやVBAで対応可能ですが、数万件程度の大容量データを扱う際はACCESSの方が圧倒的に早くて安心です。
売掛金の消込処理や在庫の棚卸、決算時の翌月繰越処理や毎月の月謝の売上計上など。
人が手動で行っている定例処理を自動化することで大きな業務効率化が見込めます。
自社独自の業務フローがある
業務の効率化という観点では、まず最初に導入を検討するのは該当業務専用のパッケージソフトやクラウドサービスでしょう。
これらは業務に必要な機能が整備され、バージョンアップなども定期的に行われるためとても便利です。
一方で、パッケージソフトやクラウドサービスは一般的な業務フローに合わせて作られているため、どうしても自社の業務フローにマッチしない部分も出てきます。
こうした場合にソフトウェア側を変更することは難しく、ソフトに合わせて業務フローを変更する必要があります。
ACCESSであれば自社の業務フローに合わせてソフト側を変更することが可能です。
そのため、自社独自の業務フローがあり、パッケージソフトやクラウドサービスの導入が難しい場合に適しています。
WindowsのPCで事務所で行う作業
該当の業務を行う人の端末がWindowsのみの場合に適しています。
さらに、Webブラウザを通したクラウドでの共有などはできませんので、ネットワーク内にあるファイルサーバでデータを共有することになります。
そういった意味ではPC以外にタブレットやスマホも利用してどこからでも情報にアクセスしたい、という業務にはあまり向いておらず、事務所で決まった人が行う業務の効率化に向いています。
結果的に、営業部門やマーケティング部門よりも、経理部門や生産管理部門などの業務に向いているといえます。
ACCESSを使った業務システム構築の手順
では、ACCESSを使った業務システム構築手順をご説明します。
システム要件の整理
最初にシステム要件の整理を行います。
該当の業務でどのようなデータを入力する必要があるのか、それをどのような画面で入力、検索するのかを整理します。
初めての方は画面から考えると分かりやすいでしょう。
ACCESSで作成する画面は主に以下の4種類です。
メニュー画面
ACCESS起動時に表示される画面で、ボタンを押して各画面を呼び出します。
どのような画面を呼び出すか設計しましょう。

検索画面
入力されたデータを一覧表示し、検索するための画面です。
検索結果からデータを選択して詳細画面へ遷移します。

入力画面
詳細なデータを入力するための画面です。

集計画面
入力されたデータを集計して表示する画面です。
Excelのピボットテーブルのイメージです。

上記のパターンから自分が作成したい画面をイメージし、整理しましょう。
テーブルの作成
次にテーブルを作成します。
ACCESSのデータはすべてテーブルに格納されますので、テーブルの設計は非常に重要です。
ACCESSではデータを管理する際に複数のテーブルを作成し、テーブル同士を主キーと呼ばれる値でつないでいきます。
例えば、下記のように売上データを一覧表示する際、そこには顧客名や、その顧客を担当する担当者名を表示するケースがありますよね。

このデータをACCESSのテーブルに入れようとした際、テーブルは1つではなく3つに分かれます。
売上データを入力する際、同じ顧客が何度も使われる可能性がありますよね?
そうした場合は顧客名は売上のテーブルとは別に管理するのです。
また、担当者名は顧客が決まると自動で決まる前提の場合、これも売上に対して何度も使われます。
さらに、一人の担当者が複数の顧客を担当するケースがあるため、顧客テーブルと担当テーブルも分けるのです。
その結果、上記の表を実現する際のテーブルは以下の3つになります。

上記の図では、TRN_売上、MST_顧客、MST_担当という3つのテーブルに分かれており、それぞれのテーブルを顧客ID、担当IDでつないでいます。
ここでいう顧客ID、担当IDが主キーです。
このように複数のテーブルを組み合わせて構築するデータベースをリレーショナルデータベース、テーブルを分割してデータベースを設計していく手順を正規化と言います。
なぜこんなことをするのかというとデータの管理が容易になるためです。
例えば、売上テーブルに直接顧客名を書いている場合、あとで顧客名が変更になった(会社名が変わったなど)場合に、売上テーブルをすべて修正しなければなりません。これは単純に大変ですし、修正漏れがあると集計時に別の顧客として認識されてしまうなどの弊害があります。
一方、テーブルを分けて管理していれば、顧客IDは同一で顧客名を変えるだけで済みますので、売上テーブルには影響がありません。顧客テーブルの顧客名を変更するだけでミスもなく修正が完了するのです。
こうしたリレーショナルデータベースの考え方についてはこちらの記事をご覧ください。

テーブルの設計については以下の記事に詳しく書いてあります。

ACCESSを使う際に、一番の基本でありながら最も理解することが難しいのがこのテーブルの正規化です。
逆に言えばここを理解できればACCESSを使いこなすための最初の大きなハードルを越えたと言えるでしょう。
フォームの作成
テーブルが準備できたら次はフォームを作成します。
フォームは、ACCESSでユーザーが主に利用する画面です。
ACCESSでは様々な種類のフォームを作成できますが、慣れないうちはフォームウィザード機能を使って作成すると便利です。
ウィザードを使ってフォームを作成し、そこからデザインビューで修正していくことができます。
フォームの作成方法について詳しくは以下の記事をご覧ください。

クエリの作成
フォームにはテーブルの情報を表示し、またフォームから入力された情報は即座にテーブルに保存されます。
この際、単一のでテーブルではフォームに表示したい情報が不足している場合はクエリを作成します。
クエリとはACCESSの機能の一つで、テーブルのデータを並べ替えたり、一部のデータを抽出したりできるものです。
Excelでいう並べ替えやフィルターの機能と同じことができます。
Excelと異なるのは、こうした並べ替えや抽出処理自体を保存しておける点です。
クエリの説明および作成方法について詳しくは以下の記事をご覧ください。


テーブル、クエリ、フォームが作成できれば業務システムの基本は作れたと言えます。
VBAなどを駆使すればさらに便利なシステムに改善することも可能です。
以上、ACCESSを使った業務システムの作り方をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

最後までお読みいただき、ありがとうございました。