Accessでシステム開発する方法をお探しですね。

広告

Accessで顧客管理システムを作ろう!Excelより便利に使える方法を解説

顧客情報をExcelで管理していると、だんだん困ることが出てきませんか?件数が増えると目的の情報を探すのに時間がかかるし、入力ミスも起きやすい。

複数人で同時に開くとファイルが重くなったり、どれが最新版か分からなくなったり…。

そんなときに便利なのが、Microsoft Accessです。

Accessを使えば、顧客情報をきちんと整理して、入力画面や検索画面を組み合わせた「ちょっとした顧客管理システム」を作れます。

しかも、高額な専用ソフトを買わなくても、Officeに入っているAccessだけで始められるんです。

この記事では、Accessで顧客管理システムを作る手順を、基本のテーブル設計から入力画面、検索機能まで順番に説明していきますね。

1. 作り始める前に「何を管理したいか」を整理しよう

Accessで顧客管理を作るとき、いきなりテーブルや画面を作り始めるのはちょっと待ってください。

まず「何を管理したいのか」をはっきりさせることが大事です。

たとえば、顧客名・住所・電話番号・メールアドレスだけを管理するのか、それとも商談の記録、問い合わせ内容、購入履歴、担当者、次回対応の予定日まで管理するのか。

管理したい内容によって、必要なテーブルの構成が変わってきます。

ここをあいまいなまま作り始めると、あとから「あ、この項目も必要だった…」となって、同じ情報を何度も入力するはめになったり、使いにくいデータベースになってしまいます。

Accessは、データを保存する「テーブル」、条件を指定してデータを取り出す「クエリ」、入力や検索に使う「フォーム」、印刷用の「レポート」といったパーツで構成されています。

Excelみたいに1枚の表にすべて入力するのではなく、役割ごとに部品を分けてシステムを作るのが特徴なんですね。

だから最初に、業務の流れを紙に書き出してみるのがおすすめです。

「新しい顧客を登録する」「既存の顧客を検索する」「対応履歴を追加する」「条件に合う顧客の一覧を出す」といった操作を書き出すと、必要な機能が見えてきます。

顧客管理システムの基本機能としては、こんなものがあります。

– 顧客情報の登録・編集
– 顧客一覧の表示
– 条件を指定した検索
– 対応履歴の記録
– 担当者別や地域別の抽出

業務によっては、見積書や請求書の発行、売上管理、宛名ラベルの印刷なども作れます。

ただ、最初から全部作ろうとすると大変なので、まずは顧客情報の登録と検索を中心に作って、使いながら必要な機能を追加していくのが現実的です。

2. テーブル設計とリレーションシップの考え方

Accessの顧客管理で一番大事なのが「テーブル設計」です。

テーブルはデータを保存する場所で、ここがきちんと整理されていないと、どんなに画面をきれいに作っても使いにくいシステムになってしまいます。

顧客管理の中心になるのは「顧客テーブル」です。

たとえば、こんな項目を用意します。

– 顧客ID
– 会社名
– 部署名
– 担当者名
– 郵便番号
– 住所
– 電話番号
– メールアドレス
– 登録日
– 備考
– 削除フラグ

顧客IDは、それぞれの顧客を区別するための「主キー」として設定します。

オートナンバー型にしておけば、自動で番号が振られて重複する心配がありません。

同じ情報を何度も入力しないために

テーブルを設計するとき、「正規化」という考え方が大切です。

簡単に言うと、同じ情報を何度も入力しなくていいように分けて管理することです。

たとえば、営業担当者名を顧客テーブルに直接文字で入力していると、担当者の名前が変わったときに全部のレコードを修正しなきゃいけません。

そこで「担当者テーブル」を別に作って、顧客テーブルには担当者IDだけを保存するんです。

同じように、業種、都道府県、顧客ランクなども選択肢として管理したいなら、マスタテーブルとして分けておくと入力ミスや表記のバラつきを防げます。

顧客管理でよく使うテーブル構成は、こんな感じです。

**顧客テーブル**
会社名、住所、連絡先、担当者IDなど基本情報を保存

**担当者テーブル**
社内の営業担当者や管理者の情報を保存

**対応履歴テーブル**
訪問、電話、メール、問い合わせ内容などを日付つきで保存

**商品・サービステーブル**
購入履歴や提案履歴と連携する商品情報を保存

テーブル同士をつなぐリレーションシップ

リレーションシップは、テーブル同士を関連付ける設定です。

たとえば、顧客テーブルの顧客IDと対応履歴テーブルの顧客IDを結び付けることで、1社の顧客に対して複数の対応履歴を登録できるようになります。

これを「1対多」の関係といって、Accessの顧客管理ではとてもよく使う形です。

リレーションシップを設定しておくと、存在しない顧客IDを対応履歴に登録できないようにするなど、データの整合性を保ちやすくなります。

あとから集計や検索をしやすくするためにも、最初の段階で主キーと外部キーの関係をはっきりさせておきましょう。

3. 入力フォームとクエリで使いやすい画面を作ろう

テーブルができたら、次は入力フォームを作ります。

Accessではテーブルを直接開いてデータを入力することもできますが、実際の仕事ではフォームを使う方が安全で見やすいです。

フォームを使えば、入力欄の配置を整えたり、必須項目を分かりやすくしたり、コンボボックスで担当者や顧客ランクを選べるようにしたりできます。

これなら、入力する人がAccessに詳しくなくても、決められた項目に沿って顧客情報を登録できますよね。

顧客入力フォームの作り方

顧客入力フォームを作るときは、フォームウィザードで顧客テーブルをもとに基本画面を作って、そのあとデザインビューで調整すると効率的です。

顧客IDは自動で番号が振られるので、入力できないようにロックしておくと誤操作を防げます。

電話番号や郵便番号は短いテキスト型で管理して、必要なら定型入力を設定しましょう。

登録日には既定値として「Date()」関数を設定しておくと、新規登録のときに今日の日付が自動で入ります。

住所やメールアドレスは入力欄を広めに取って、備考欄は複数行入力できるようにすると使いやすくなります。

クエリで必要なデータを取り出す

クエリは、テーブルから必要なデータを取り出したり、複数のテーブルを結合して表示したりする機能です。

顧客一覧フォームを作る場合、顧客テーブルだけじゃなくて担当者テーブルも結合して、担当者名や顧客ランク名を表示するクエリを作っておくと便利です。

フォームのレコードソースにこのクエリを指定すれば、IDじゃなくて分かりやすい名前で一覧表示できます。

また、削除フラグが立っている顧客を一覧から除外したり、登録日が新しい順に並べたりといった条件も、クエリで設定できます。

メインフォームとサブフォームの組み合わせ

フォームには、単票形式、帳票形式、データシート形式があります。

顧客1件を詳しく見る入力画面には単票形式、複数の顧客を一覧で確認する画面には帳票形式やデータシート形式が向いています。

顧客詳細フォームの下に対応履歴のサブフォームを配置すると、1画面で顧客情報と過去の対応内容を確認できて便利です。

メインフォームとサブフォームを顧客IDで連動させれば、表示中の顧客に紐づく履歴だけが自動的に表示されます。

CRM(顧客管理システム)に近い使い勝手を、Accessだけで実現できるんです。

4. 検索フォームの作り方と運用のポイント

顧客管理システムで特に大事なのが検索フォームです。

顧客件数が増えてくると、会社名、担当者名、電話番号、地域、担当営業、最終対応日など、いろんな条件で素早く探せることが求められます。

検索フォームは、データを直接保存しない「非連結フォーム」として作ります。

検索条件を入力するテキストボックスやコンボボックス、検索結果を表示するサブフォームを配置する構成が扱いやすいです。

ユーザーは検索条件を入力して検索ボタンを押すだけで、該当する顧客を一覧表示できます。

検索の仕組みを作る

検索の仕組みは、クエリの抽出条件をフォーム上の入力欄と連動させて作ります。

たとえば会社名の部分一致検索を行う場合、クエリの会社名フィールドに次のような条件を設定します。

“`
Like “*” & Forms![F顧客検索]![txt会社名] & “*”
“`

これで、入力した文字を含む会社名を検索できます。

担当者や都道府県のように選択肢が決まっている項目はコンボボックスにして、未選択の場合は全件表示、選択された場合だけ絞り込む設計にすると実務で使いやすくなります。

検索条件は絞って分かりやすく

検索フォームに入れる条件は、多ければ便利というわけではありません。

条件欄が多すぎると、どこに何を入力すればいいか迷ってしまいます。

最初は会社名、担当者名、電話番号、担当営業、都道府県、顧客ランクくらいに絞って、使ってみて追加要望が多い項目を増やしていくのがおすすめです。

検索結果の一覧には、顧客ID、会社名、担当者名、電話番号、住所、担当営業、最終対応日などを表示して、ダブルクリックで顧客詳細フォームを開けるようにすると、検索から編集までの流れがスムーズになります。

複数人で使うときの注意点

Accessを複数人で使う場合は、運用面にも注意が必要です。

Accessのデータベースファイルには容量の上限があって、大人数で同時に更新するような大規模システムには向いていません。

小規模な事務所や部署内で使う場合でも、データを保存するバックエンドファイルと、フォームやクエリを格納するフロントエンドファイルを分ける構成にすると安定しやすくなります。

共有フォルダにはデータファイルを置いて、各利用者のPCには画面側のファイルを配布する形ですね。

また、定期的なバックアップ、入力ルールの共有、担当者が変わっても分かる設計メモの作成は欠かせません。

まとめ

Accessを使った顧客管理システムは、テーブル設計を丁寧に行って、入力フォームと検索フォームを業務に合わせて整えることで、Excel管理よりもずっと正確で探しやすい仕組みにできます。

最初から完璧なシステムを目指すより、顧客マスタ、対応履歴、検索フォームという基本機能を作って、実際に使いながら改善していくのが成功の近道です。

顧客情報を一元管理して、営業や事務の作業時間を減らしたいなら、Accessで小さく始める顧客管理システムが有力な選択肢になりますよ。

広告