ACCESSの使い方(初心者向け)

ACCESSの使い方

ACCESSはExcelと比較すると使っている方が少なく、データベースという名前から難しそうなイメージやとっつきにくさがあるかもしれません。
しかし、使いこなせば業務を効率化でき、かなり便利なツールです。

今回は、初心者の方向けにACCESSの使い方をご紹介します。


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

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

ACCESSとは

まず最初にACCESSについてよくご存じない方向けに、ACCESSについてご紹介します。

ACCESSとは

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

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

Officeのバージョンが上がるごとに新しいバージョンが出ます。ある程度の機能互換性はありますので、旧バージョンのACCESSで作成したファイルを新しいバージョンのACCESSで動作させることも可能ですが、かなり古いバージョンのACCESSだと動作しないことがあります。

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

ACCESSのメリット

ACCESSを利用することにはいくつかのメリットがあります。

低コストでデータベースを構築できる

通常、データベースを構築しようとすると専用のソフトウェアの購入や、システムの開発にかなりのコストがかかります。
また、開発作業自体もプログラミング言語がわからないとできないため、自分で簡単に作るということは難しく、専門の業者に発注する必要があるでしょう。

その点、ACCESSであればライセンス費用は低価格で、かつ画面操作でデータベースを作ることができるので初心者でも利用可能です。

このように、低コストでデータベースを構築できる点がACCESSの大きなメリットでしょう。

大量のデータを管理できる

上記で記載したように、ACCESSは簡単に利用できるデータベースソフトウェアでありながら、Excelと比べれば圧倒的に大量のデータを高速に処理することが可能です。

Excelで数万件のデータを処理するのはかなり難しいと思いますが、ACCESSであれば可能です。
また、複数人でデータを利用した際のデータの重複や上書きの制御なども可能です。

それは、データベース専用の機能をACCESSが有しているからです。
Excelではデータの管理に限界がきていると感じた場合に、ACCESSへの意向は大きな効果があるでしょう。

入力しやすい画面を作ることができる

Excelで複数の利用者にデータを入力させる際、入力規則などを設定したとしても複雑な入力ルールを徹底させるのは意外と難しいものです。
ACCESSでは、入力画面そのものを作成することができます。

入力の便利さだけを追求した入力画面を作ることで、入力時のミスや疑問の発生を防ぎ、入力効率を劇的に向上させることが可能です。

ACCESSはもともとフォームと呼ばれる入力画面を複数作成して、画面遷移しながら利用する形態を基本としていますので、入力者にとってはExcelよりも分かりやすい画面を作れることがメリットです。

利用者がデータを壊すことを防ぐことができる

Excelで社内のデータを管理している際、誰が触ったかわからなけれどデータが壊れていたり、設定した書式や関数が消えている、ということはないでしょうか。
ACCESSではこうした事故を防ぐことが可能です。

それは、ACCESSでは入力内容やルールを決めるための開発者用画面と、一般の入力者用の画面が分かれているためです。
入力者用画面からでは、どうやっても入力ルールを勝手に変えたりボタンを削除したりすることができません。

また一部のデータにロックをかけて変更できなくすることも可能です。

このため、不用意にデータを壊されたり、設定しておいた機能が消えるということを防ぎつつ複数人でデータを共有することが可能です。

ACCESSのデメリット

一方で、ACCESSにもデメリットはあります。

Excelよりもとっつきにくい

ACCESSを利用する際の一番のデメリットはこれだと思います。
Excelであれば周囲に知っている人も多く、わからないことがあれば聞けるのですが、ACCESSを知っている人は限られているため、自分で学ぼうと思ってもハードルが高いというのが一番のACCESSのデメリットです。

しかし、プログラミング言語を一から学んでデータベースを構築するのに比べれば、ACCESSはOfficceソフトの一つですので操作方法も直感的にわかりやすく、学べる環境さえ整えば習得はできるでしょう。

ライセンスの購入が必要

ACCESSはOfficeソフトですが、パソコンを購入した際にプレインストールされていることは少ないでしょう。
プレインストールされているのは、Word、Excel、PowerPointまでで、ACCESSは別途購入しなければいけないことがほとんどだと思います。

1本で2万円超のコストですので、この購入費用はデメリットの一つとなります。

これを利用人数分購入することを考えると結構なコストになってしまいます。
しかし、安心してください。

ACCESSでデータベースを開発する人には正規のライセンスが必要ですが、データの入力や検索、帳票の印刷など利用するだけであればRuntimeという無料のソフトウェアをインストールするだけでACCESSを利用可能です。

そのため、企業内でACCESSを利用する際のコストが非常に大きくなってしまうということはないでしょう。

1ファイルで2GBが上限

ACCESSは簡易的なデータベースソフトであり、データはWindows上のファイルで管理されます。
ACCESSのファイルの拡張子はaccdbもしくはmdbです。

これらのファイルは、Windowsのファイル容量に関する制限を受けるため、1ファイルの容量は2GBが上限です。
そのため、データ量が多くなってくるとACCESSのファイルを分割して管理する必要が出てきます。

本格的なデータベースソフトウェアであればこうした問題はありませんが、ACCESSがWindowsベースの安価で簡易なデータベースソフトウェアであるが故の問題点です。

しかし、実運用上は年度ごとにACCESSファイルを切り替えるなどの対処を行うことで運用が可能です。

インターネット越しの共有が困難

ACCESSはWindows上のファイルを使ったデータベースです。
複数人での利用はもちろん可能ですが、基本は社内LAN、社内ネットワーク上での共有となります。

現在一般的となっているクラウドサービスのような、Webブラウザを経由してACCESSを利用したりデータを共有することはできません。

また、リモートデスクトップで他のPCからACCESSファイルのあるPCにアクセスして利用することもかなり困難です。
それは、ACCESSが基本的にクライアントソフトウェアであるため、利用時にACCESSファイルのあるPCからアクセス元のPCにすべてのデータをいったんダウンロードしてから処理するためです。リモートデスクトップの通信速度でこれを行うとかなり処理が重く、実用に耐えないためお勧めできません。

このように、インターネットを経由した今どきの共有はできない点には注意が必要です。

ACCESSの利用目的

ACCESSは様々な目的で利用することが可能です。
一般的には、Excelで管理していたデータに対して、入力がやりにくい、自動化させたい、データ量が多くなったなどの理由でACCESSへの移行を考えるケースが多いです。

例えば、以下のような業務をACCESSで効率化することが可能です。

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

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

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

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

在庫管理
仕入情報や在庫情報の管理、棚卸

勤怠管理
勤務時間や年次休暇消化状況などの管理

従業員管理
従業員の職位や給与、資格情報の管理

その他、ACCESSの利用目的にについては以下の記事にもまとめていますので興味のある方はご覧ください。

ACCESSで何ができるのか

ACCESSの機能

ACCESSにはいくつかの基本機能があります。
それぞれの機能はオブジェクトと呼ばれ、これらを組み合わせて業務用のデータベースを構築していきます。

テーブル

テーブルはACCESSの最も基礎となるオブジェクトで、データの格納場所です。
テーブルを開くと以下の画面になります。

一見するとExcelと同じに見えます。

Excelとの違いは、Excelは表の見出し行(一番上の行)も同じ画面で自由に変更できますが、ACCESSではデータを入力する画面では見出し行を変更できない点です。
これによって、ユーザーが意図せずに見出しを変えてしまったり、列の順番を変更することを防げます。

では、どこで見出し行を設定するかというと、デザインビューというテーブルの設定を行う専用の画面があるのです。
先ほどのテーブルをデザインビューで見てみましょう。

このように、各項目名とデータ型を規定しています。
ユーザーはデータを入力する際に、あらかじめ設定したこのデータ型に応じたデータしか入力できなくなっています。
Excelでいう入力規則に近いですね。

データ型には、文字を入力するテキスト型や、数値を入力する数値型、日付を入れる日付/時刻型などがあります。
データ型について詳しくは以下の記事を参照ください。

データ型の種類と使い分け

テーブルの設定を行うデザインビューに対して、データを入力する画面をデータシートビューと呼びます。
デザインビューでテーブルを設計後に、データシートビューでテーブルにデータを入力していくのが、ACCESSの最も基本的な利用方法になります。

クエリ

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

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

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

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

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

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

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

また、クエリにはいくつもの種類があります。

選択クエリもっとも一般的なクエリ。テーブルから特定の条件でレコードの抽出や集計を行う。
不一致クエリ二つのテーブルで一致しないレコードのみを抽出する。選択クエリの一種。
重複クエリ二つのテーブルで重複するレコードのみを抽出する。選択クエリの一種。
クロス集計クエリテーブルのレコードを縦横に集計する。Excelのピボットテーブルに近い。
テーブル作成クエリテーブルを新たに作成する。
更新クエリテーブルのデータを更新する。
追加クエリテーブルにレコードを追加する。
削除クエリテーブルからレコードを削除する。

単純にレコードを抽出するだけでなく、テーブルを作ったりレコードを追加・削除・更新することもできます。

選択クエリの抽出条件の書き方は以下の記事にまとめてあります。

クエリの抽出条件の書き方

不一致クエリで差分を求めるにはこちら。

不一致クエリで差分を求める方法

クロス集計クエリはこちらをご覧ください。

ACCESSでクロス集計する方法

テーブル作成クエリに関する詳細は以下の記事をご覧ください。

テーブル作成クエリでテーブルを作る方法

追加クエリの作り方はこちらです。

追加クエリの作成方法

更新クエリの使い方です。

テーブル更新クエリの使い方

削除クエリはこちら。

削除クエリの使い方

フォーム

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

以下がフォームのサンプルです。

上記にあるように、チェックボックスやリストボックス、ボタンやサブフォームといった様々な部品が用意されており、それを組み合わせて使いやすい入力画面を作成することが可能です。

フォームで作成した情報は自動的にテーブルに格納され、データとして蓄積されます。

ポート

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

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

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

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

VBA

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

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

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

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

ACCESSで作成できる機能

上記のテーブルやフォーム、レポートを組み合わせることで様々な機能を自分で作っていくことが可能です。
以下に、ACCESSで良く使われる画面や機能をご紹介します。

検索画面(フォーム)

フォームを使ってデータを様々な条件で検索できる、一覧画面が作成できます。
検索条件や表示項目を自分の自由に変更することができます。

以下はACCESSで作成した売上データの検索画面です。

上段に検索条件を入力して「検索」ボタンを押すことで、下段の一覧表示が変化します。
Excelで言うとオートフィルター機能にあたりますが、ACCESSですとあらかじめ検索条件を決めておくことができるので検索作業がやりやすくなります。

入力画面(フォーム)

こちらもフォームを使って、データを入力するための専用画面を作成できます。
プルダウンや入力規則を細かく設定できるので、効率的で間違いのない入力を実現できます。

以下はACCESSで作成した売上伝票の入力画面です。

Excelで入力画面を作ると、どうしても作成者の意図しない入力内容を利用者が入れてしまうケースがあります。
ACCESSの場合は入力可能な場所や値の範囲を厳密に規定することが可能ですので、こうした利用者による入力のミスや揺らぎを防ぐことができ、適切な形でのデータ管理を行うことが可能です。

上記の画面でいうと顧客名は顧客検索ボックスに文字を入力すると自動的に該当の顧客が表示されるようになっています。
また、消費税率や小計などの計算箇所はユーザーが操作できないようになっているので、計算結果が誤って上書きされることもありません。

集計画面(フォーム)

フォームを使ってデータを自動集計する画面も作成できます。
あらかじめ設定した集計条件で、集計結果を簡単に見ることが可能です。

以下はACCESSで作成した売上データの集計画面です。

Excelではピボットテーブルにあたる機能で、クロス集計が可能です。
Excelでは元データが増えたり減ったりするとピボットテーブルを作り直す必要がありますが、ACCESSの場合は一度フォームを作ってしまえば、元データが変わっても自動的に反映して常に最新の集計結果を表示してくれます。

帳票の出力(レポート)

印刷用に帳票のレイアウトを作成することが可能です。
請求書や納品書、見積書など印刷が必要な書式をあらかじめ複数作成しておくことができます。

印刷だけでなくPDF保存もできます。

以下はACCESSで作成した請求書の帳票です。

Excelで作った帳票を印刷することもできますが、その場合は複数ページに渡ってデータを手入力しなければいけません。
ACCESSの場合は帳票のフォーマットを作ってしまえば、表示するデータはテーブルで別途管理されているので同じレイアウトでどのデータに対する帳票でも簡単に印刷することが可能です。

データのインポート・エクスポート(VBA)

Excelやcsvからのデータのインポートやエクスポートができます。
ACCESS以外のデータを取り込んでACCESS上で表示や編集をし、その結果を再度出力することが可能です。

以下は、データのエクスポートを簡単にするために出力機能を作成した画面です。

このように、データの入力、検索、集計用の専用画面を作成し、更に印刷用の帳票も作成することができるのがACCESSのメリットです。
操作毎に異なる画面を作成することで、業務の効率性と正確性を高めます。

ACCESSの使い方

ACCESSは主に以下の流れで利用します。

テーブルの作成

最初はACCESSのデータ格納場所であるテーブルを作成し、データを入力します。
テーブルは単体であれば項目名とデータ型をデザインビューで設定するだけで作ることができますので、それほど難しくはありません。

しかし、実際にはACCESSは複数のテーブルを組み合わせて利用するリレーショナルデータベースのため、テーブルを作成する際は「正規化」という手法でデータを複数のテーブルに分割していく必要があります。

非常に簡単に言うと、売上伝票における商品名のように、同じ値が何度も繰り返し利用される部分は別のテーブルに分割していく手法です。
テーブルを作成する方法は以下の記事に詳細にまとめてあります。

ACCESSでテーブルを作成する方法

実は、ACCESSで一番難しいのはこの最初のテーブルの正規化の手順です。
最初にやらなければいけないことが一番難しいというのがACCESSのハードルを高めている要因でもあります。

一方で、テーブルの正規化を自然にできるようになれば、ACCESSの初心者を脱したといえるレベルになりますので、何度も繰り返して考え方を身に着けていきましょう。

クエリの作成

次にクエリを作成します。

テーブルはただ単にデータを格納する箱です。
そのデータを利用しやすいように加工するのがクエリです。

例えば一部のデータを抽出したり、集計を行ったり、並べ替えたりして自分の使いやすいように加工します。

フォームの作成

次にフォームを作成します。
フォームは前述した通りデータを入力したり検索したり、ユーザーが操作する画面です。

ここまでに作成したテーブルやクエリをレコードソースとしてフォームを作成していきます。
効率よく、分かりやすく使えるようにボタン配置やレイアウトを変更することが可能です。

レポートの作成

印刷する帳票が必要なときはレポートを作成します。

レポートもフォームと同じく、テーブルやクエリをレコードソースにして作成します。
フォームとの違いはデータの入力ができない点です。

様々な帳票を事前に作っておくことで、定期的な印刷業務を効率化できます。

以上、ACCEESSの使い方(初心者向け)をご紹介しました。


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

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

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

サービス紹介

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