ACCESSとは何か?Excelと何が違うのか

ACCESSとは何か

マイクロソフトオフィスの一つである、ACCESSを名前だけは聞いたことがあるという方は多いと思います。

しかし、非常に認知度および利用者が多いExcelと比べると、何をするためのソフトで、Excelとどう違うかが分かりにくいのではないでしょうか。

そこで、初めてACCESSに接する方向けに、ACCESSとは何のためのソフトなのか?Excelとはどう違うのか、について実務での利用シーンを踏まえてご説明します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。

ACCESSとは?

ACCESSはWord、Excel、PowerPointなどと同じく、MicrosoftのOfficeシリーズの一製品です。
小規模なリレーショナルデータベースをマウス操作で直感的に開発・管理できるアプリケーションです。
また、基本機能のみでなく、Visual Basic for Applications(ビジュアルベーシック・フォー・アプリケーションズ)というプログラミング言語にも対応しており、こちらを活用することで更なる処理の自動化を行うことができます。
略してよくVBAと呼ばれますね。

データベースソフトとしてはOfficeに含まれていることもあって非常に認知度が高く、多くの方に使われています。
大規模なデータベースは作成できないので、職場で10人未満のチームで共有して利用するようなデータベースを作成するのに適しています。

Excelと似ていますので、Excelではうまく処理ができない場合にACCESSを利用されることが多いです。
ExcelとACCESSの違いについては後述します。

Officeのバージョンが上がるごとに新しいバージョンが出ますので、最近ではMicrosoft Access 2019、2016、2013、2010等があります(2021年時点)。ある程度の機能互換性はありますので、旧バージョンのACCESSで作成したファイルを新しいバージョンのACCESSで動作させることも可能ですが、かなり古いバージョンのACCESSだと動作しないことがあります。

作成したファイルの拡張子は現在は「accdb」ですが、Access2007以前は「mbd」という拡張子でした。
この「mdb」の拡張子を使っているファイルを現行のバージョンのACCESSで動作させると様々な不具合が出る可能性はあります。

リレーショナルデータベースとは

ACCESSはリレーショナルデータベースを作成するソフトです。
まず、リレーショナルデータベースとは何かについてご説明しましょう。

リレーショナルデータベースの構造

リレーショナルデータベースとは、複数の表(テーブル)を組み合わせて一つのデータを表現するデータベースです。

みなさんよくご存じのExcelとの比較で見てみましょう。
Excelで売上管理表を作成するとこんなイメージになります。

一方で、これをリレーショナルデータベースで表すとこうなります。

売上マスターの商品名は、同じ値が何度も繰り返される可能性がある項目です。
そのため、商品名を管理するテーブルを商品マスターとして作成し、売上マスターから分離します。

そして、売上マスター側には商品IDという値を持たせて、商品マスターと連結させることで商品名を呼び出す構造になります。

この際、二つのテーブルを連携している商品IDをキー値(きーち)と言います。
特に、そのテーブルの中で他の行(レコードと言います)と絶対に重複しないキー値を主キーと言います。

これが、リレーショナルデータベースの基本構造です。

リレーショナルデータベースのメリット

Excelの表の方が直感的に分かっていいんじゃないか?
テーブルを分割していくことにメリットがあるのか、と感じられる方もいるかと思います。

リレーショナルデータベースにするとどんなメリットがあるでしょうか。
それは、

1つのテーブルを修正するだけで連動してすべてのデータを修正できる

ということに集約されます。

例えば、Excelでこんな売上データがあったとします。

ここで、商品名の内、「ACCESS売上管理ツール作成」を「ACCESS請求管理ツール作成」に変えたい場合、Excelなら手動で1セルずつ変えていくか、置換を行いますよね。

しかし、リレーショナルデータベースであれば商品マスターの商品名を変えるだけで、売上マスターは変えなくても商品名を一括で変えることが可能なのです。

このくらいのデータ量ならExcelでもよいのでは、と思われるかもしれませんが複数年利用され、業務データが多くなってくるとExcelでの手作業修正はミスを生む可能性も高く、また複数人で使用しているとどうしてもデータのばらつきなどが出てしまいます。

こうしたミスや誤りを防ぎ、データを統一した基準で整理して格納できるのがリレーショナルデータベースの利点なのです。

ACCESS以外のリレーショナルデータベースの例

ACCESSはリレーショナルデータベースなのですが、それ以外にもリレーショナルデータベースソフトはあります。

有名なものは、Microsoft SQL ServerとOracle Databaseです。

この二つは非常に大規模なデータベースシステムを構築できますが、その分価格も高額になります。
ACCESSはより低価格で部門単位で5~10名程度で利用するデータベースに最適なソフトウェアです。

ACCESSの機能

それでは、ACCESSの機能を見ていきましょう。
ACCESSの各機能で作成されるテーブル、クエリ等をオブジェクト、と呼びます。

テーブル

ACCESSのデータが格納される表です。
行と列で表示され、ACCESS内の実データは全てテーブルに保管されます。
見た目はExcelのシートに近いのでわかりやすいかと思います。

Excelと異なるのは、データの入力方法や、入力規則を設定する画面があることです。
この画面をデザインビューと言います。

先ほどの商品テーブルですと、上記のような設定がしてあります。
商品ID。商品名などの列(ACCESSではフィールドと呼びます)が左に並んでおり、各フィールドのデータ型が設定できます。
商品名はテキストで入力、単価は通貨型等データの型をあらかじめ決めて、予期しない値が入らないように統制することが可能です。

このデザインビューはテーブルに限らず、クエリ、フォームなどのACCESSの全てのオブジェクトに存在します。
Excelは設計・開発者と利用者が同じ画面で操作しますが、ACCESSは設計・開発者がデザインビューで作成し、利用者が通常のビューで操作する、という点が最も大きな違いでしょう。

クエリ

クエリとは、テーブルのデータから一定の条件にあうレコードを抽出したり、複数のフィールドの値から計算式によって新しいフィールドを作成したりする機能です。データの更新を一括で行ったり、集計を行うこともできます。

テーブルとの違いは、テーブルは実データを格納しているのに対して、クエリはテーブルにある実データに対する処理のみを格納しており、実データを持たない、という点です。そのため、テーブルの内容が変更されるとクエリで表示される結果(抽出結果や集計結果)が変わります。

クエリはExcleのフィルターや関数、置換、ピボットテーブル等に近い機能です。

Excelのこれらの機能が一時的なもの(毎回操作を行うたびに抽出文字列の設定や、集計範囲の設定が必要になる)であるのに対して、ACCESSのクエリは一度作成しておけば設定条件がオブジェクトとして残るため、常に使い続けられるという点が違いです。

例えば、売上テーブルからオプション商品の売上だけを抽出するクエリを作成してみます。
すると、ACCESSの画面には下図のように「オプション売上のみ」というクエリが作成されます。

このクエリを開くことでいつでも同じ条件でレコードが抽出されて、結果を見ることができます。

そして、クエリはテーブルの内容を元にしているので、テーブルのレコードが増えたり更新されたとしても、クエリの設定は変更せずに常に最新のデータを見ることができるのです。

フォーム

フォームはデータを入力したり、検索したり、集計結果を表示する専用画面です。
テーブルに直接データを入力したり、クエリでデータを抽出するだけでなく、利用者が使いやすいUI(ユーザーインターフェース)を個別に作成できるのがACCESSのメリットです。

以下に良く作成するフォームのサンプルをご紹介します。

入力フォーム

顧客、商品、売上等のデータを入力します。
プルダウンなどを使って入力を簡易化できます。

検索フォーム

入力されたデータの検索を行います。
検索条件をあらかじめ設定しておくことで、簡単な操作で必要なデータだけを見つけられます。

集計フォーム

入力されたデータの集計を行います。
毎回集計作業を行わなくても、フォームを作成しておけば画面を開くだけで最新データを元に集計されます。

メニュー画面

ACCESS起動時に最初に自動表示される画面を作成できます。
いつも見る数字やよく使い機能を呼び出すボタンを配置できます。

レポート

フォームはACCESSの画面上で入力を行ったり集計結果を表示する機能でしたが、結果を印刷したい場合があると思います。
レポートはACCESSに入力されたデータを元にした帳票や集計結果を印刷するための機能です。

例えば、下記のような請求書を作成することができます。

Excelの場合はデータを入力するレイアウトと印刷するレイアウトが同じですので、入力しやすくすると印刷時の見やすさが劣り、印刷時の見やすさを重視すると入力がしにくくなるという課題があります。

ACCESSは入力用のフォームと印刷用のレポートが同じデータから別レイアウトとして作成できますので、入力のしやすさと印刷時のレイアウトの美しさを両立できます。

VBA

ここまで述べてきた機能はACCESSの標準機能で、それぞれの機能ごとにオブジェクトを作成していきます。
これだけでも十分にExcelと差別化した機能なのですが、更に業務を効率化するために利用できるのがVBAです。

VBAはVisual Basic for Applications(ビジュアルベーシック・フォー・アプリケーションズ)の略です。
ACCESSだけでなく、Word、Excel等のOfficeアプリケーションで使用できる簡易的なプログラミング言語です。

Excelで使っている方も多いのではないでしょうか。

ACCESSでは、フォームのボタンを押した際の動作や、レコードの抽出から一括更新させる処理などを自動化する際にVBAが使用できます。

VBAを使えば、ほぼどんな機能でも実装可能です。

ACCESSとExcelの違い

ここからは、よく使われているExcelとの違いについてご説明していきましょう。
特に以下の2つの特徴がある業務環境で、Excelで困ることがACCESSなら解決できます。

1.複数人で同じファイルを共有して使っている

2.毎日データが増えていくファイルを使っている

入力規則

EXCELを複数人で使っていると、あらかじめ決められた値だけを入れさせたい時があると思います。
そんな時、EXCELの入力規則機能を使用すると思いますが、これって結構徹底させることが難しいと感じたことがありませんか?

行が増えた時に新しい行にルールが設定できていなかったり、人によっては自分で勝手に入力規則を変えてしまったり。

ACCESSであればフォームで規定した入力規則が必ず強制されますし、それを勝手に変更されることもありません。
そのため、入力規則を徹底でき、想定外のデータが入ることを防ぐことができます。

詳しくは下記の記事をご参照ください。

プルダウン

Excelへデータを入力するときにあらかじめ決まった項目の中から選択して入力したいこと、よくありますよね。

そんな時に使われるのがプルダウン機能です。後でデータを集計するために入力値を一定にしておきたいときに便利です。
しかしExcelでこれをすべてのセルに適用するのはなかなか難しいものです。
行が増えた際に正しいプルダウン設定が設定された行をコピーして作成しないと、ある行だけプルダウン以外の値が入っている、ということが発生します。

ACCESSはフォームでプルダウンの設定を行うことで、すべてのデータに対して完璧に同じプルダウンを適用できます。

詳しくは下記の記事をご参照ください。

EXCELとACCESSの違い(プルダウン編)

並び替え

大量のデータを仕事で扱う際には、日付順、五十音順などの規則でレコード(行)を並び替えるというのは非常によく行われる作業だと思います。
Excelでも簡単に並び替えができますが、データがどんどん増えていく際に常に同じ規則で並び替えを徹底するのは意外に難しいものです。
ACCESSなら、毎回並び順設定をしなくても自動で並び替えができます。

詳しくは下記の記事をご参照ください。

EXCELとACCESSの違い(並び替え編)

集計

売上実績やアクセス数など、毎日・毎週・毎月徐々に増えるデータを集計するという作業は非常に多いと思います。
こんな時、Excelならピボットテーブルを使う方が多いと思いますが、毎日データ増えていくとピボットテーブルの範囲を毎回直すのは面倒ですよね。
ACCESSなら集計フォームを作っておくことでボタン一つでいつでも最新データが見れるのです。

詳しくは下記の記事をご参照ください。

検索

EXCELで多くのデータが集まってくると、その中で見たいデータだけを素早く・簡単に抽出したいことが良くあると思います。
しかし、毎回検索条件を入力したり、複数人で使用する際にフィルターを設定しなおすのは面倒ですよね。

ACCESSなら検索フォームを作っておくことで、いちいちフィルター設定を行わなくても簡単に抽出・検索が可能です。
あいまい検索にも対応できますし、よく使う検索条件をあらかじめボタン一つで検索できるようにしておくこともできます。

詳しくは下記の記事をご参照ください。

EXCELとACCESSの違い(検索編)

置換

Excelのデータが多くなると、置換を行って一部のデータをまとめて更新したいということが増えると思います。
しかし毎日同じ条件で置換処理をするのって面倒だと感じませんか?
ミスも発生しやすくなります。一括置換でミスをした時は本当に焦りますよね。

そんな時はEXCELよりもACCESSで更新クエリの機能を使った方が便利です。
更新クエリなら置換の手順をあらかじめ定めておくことができますので、ダブルクリックするだけで置換が完了しミスの可能性が極端に低くなります。

詳しくは下記の記事をご参照ください。

ACCESSの用途

最後に、ACCESSを実務で何に使っていくかをご紹介しましょう。

ACCESSで効率化しやすい業務

先ほども記載しましたが、ACCESSは以下のような業務環境に向いています。

1.複数人で同じファイルを共有して使っている

2.毎日データが増えていくファイルを使っている

このどちらかに当てはまるならACCESSの活用により、業務を効率化できる可能性があります。

複数人で同じファイルを使っていると、どうしても入力ルールの徹底ができず想定外のデータが入力されて集計が上手くできなくなってしまうことがあります。
ACCESSの入力フォームを活用することで、この入力の揺らぎが防げます。

また、毎日データが増えていくファイルは入力、検索、集計に手間がかかります。
こちらもACCESSで入力、検索、集計フォームを事前に作成しておけば毎日の作業が効率化できます。
一日あたりでは少しの時間でも毎日の業務を効率化できれば、月単位、年単位で見た場合は大きな効率化になります。

ACCESSを活用する業務

ACCESSを活用する業務は、経理部門、人事部門、営業部門の業務に多くなります。
以下の業務で利用されていることが多いです。

顧客管理
顧客情報(住所、氏名、年齢)や購入履歴、コンタクト履歴の一覧化

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

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

勤怠管理
年次休暇消化状況などの管理

ACCESSの使い方について調査を行った結果を以下に掲載しておりますのでご参照ください。

ACCESSの使い方調査結果

以上、ACCESSとは何か?Excelと何が違うのかについてご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

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