ACCESSの使い方(初心者向け)
ACCESSはExcelと比較すると使っている方が少なく、データベースという名前から難しそうなイメージやとっつきにくさがあるかもしれません。
しかし、使いこなせば業務を効率化でき、かなり便利なツールです。
今回は、初心者の方向けにACCESSの使い方をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事では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は様々な目的で利用することが可能です。
一般的には、Excelで管理していたデータに対して、入力がやりにくい、自動化させたい、データ量が多くなったなどの理由でACCESSへの移行を考えるケースが多いです。
例えば、以下のような業務をACCESSで効率化することが可能です。
顧客管理
顧客情報(住所、氏名、年齢)や購入履歴、コンタクト履歴の一覧化
売上データの集計・分析
売上データの月別・商品別・顧客別集計
別のEPRシステムから出力されたデータをACCESSで見やすいように加工
売上管理
売上情報の入力、見積書・納品書・請求書の発行
商品管理
商品情報や写真の入力、一覧管理
在庫管理
仕入情報や在庫情報の管理、棚卸
勤怠管理
勤務時間や年次休暇消化状況などの管理
従業員管理
従業員の職位や給与、資格情報の管理
その他、ACCESSの利用目的にについては以下の記事にもまとめていますので興味のある方はご覧ください。
ACCESSの機能
ACCESSにはいくつかの基本機能があります。
それぞれの機能はオブジェクトと呼ばれます。
テーブル
テーブルはACCESSの最も基礎となるオブジェクトで、データの格納場所です。
一見するとExcelと同じに見えます。
Excelとの違いは、Excelは表の見出し行(一番上の行)も同じ画面で自由に変更できますが、ACCESSではデータを入力する画面では見出し行を変更できない点です。
これによって、ユーザーが意図せずに見出しを変えてしまったり、列の順番を変更することを防げます。
では、どこで見出し行を設定するかというと、デザインビューというテーブルの設定を行う専用の画面があるのです。
先ほどのテーブルをデザインビューで見てみましょう。
このように、各項目名とデータ型を規定しています。
ユーザーはデータを入力する際に、あらかじめ設定したこのデータ型に応じたデータしか入力できなくなっています。
Excelでいう入力規則に近いですね。
データ型には、文字を入力するテキスト型や、数値を入力する数値型、日付を入れる日付/時刻型などがあります。
データ型について詳しくは以下の記事を参照ください。
テーブルの設定を行うデザインビューに対して、データを入力する画面をデータシートビューと呼びます。
デザインビューでテーブルを設計後に、データシートビューでテーブルにデータを入力していくのが、ACCESSの最も基本的な利用方法になります。
クエリ
クエリとは、テーブルのデータから一定の条件にあうレコードを抽出したり、複数のフィールドの値から計算式によって新しいフィールドを作成したりする機能です。データの更新を一括で行ったり、集計を行うこともできます。
テーブルとの違いは、テーブルは実データを格納しているのに対して、クエリはテーブルにある実データに対する処理のみを格納しており、実データを持たない、という点です。そのため、テーブルの内容が変更されるとクエリで表示される結果(抽出結果や集計結果)が変わります。
クエリはExcleのフィルターや関数、置換、ピボットテーブル等に近い機能です。
Excelのこれらの機能が一時的なもの(毎回操作を行うたびに抽出文字列の設定や、集計範囲の設定が必要になる)であるのに対して、ACCESSのクエリは一度作成しておけば設定条件がオブジェクトとして残るため、常に使い続けられるという点が違いです。
例えば、売上テーブルからオプション商品の売上だけを抽出するクエリを作成してみます。
すると、ACCESSの画面には下図のように「オプション売上のみ」というクエリが作成されます。
このクエリを開くことでいつでも同じ条件でレコードが抽出されて、結果を見ることができます。
そして、クエリはテーブルの内容を元にしているので、テーブルのレコードが増えたり更新されたとしても、クエリの設定は変更せずに常に最新のデータを見ることができるのです。
また、クエリにはいくつもの種類があります。
選択クエリ | もっとも一般的なクエリ。テーブルから特定の条件でレコードの抽出や集計を行う。 |
不一致クエリ | 二つのテーブルで一致しないレコードのみを抽出する。選択クエリの一種。 |
重複クエリ | 二つのテーブルで重複するレコードのみを抽出する。選択クエリの一種。 |
クロス集計クエリ | テーブルのレコードを縦横に集計する。Excelのピボットテーブルに近い。 |
テーブル作成クエリ | テーブルを新たに作成する。 |
更新クエリ | テーブルのデータを更新する。 |
追加クエリ | テーブルにレコードを追加する。 |
削除クエリ | テーブルからレコードを削除する。 |
単純にレコードを抽出するだけでなく、テーブルを作ったりレコードを追加・削除・更新することもできます。
選択クエリの抽出条件の書き方は以下の記事にまとめてあります。
不一致クエリで差分を求めるにはこちら。
クロス集計クエリはこちらをご覧ください。
テーブル作成クエリに関する詳細は以下の記事をご覧ください。
追加クエリの作り方はこちらです。
更新クエリの使い方です。
削除クエリはこちら。
フォーム
フォームはデータを入力したり、検索したり、集計結果を表示する専用画面です。
テーブルに直接データを入力したり、クエリでデータを抽出するだけでなく、利用者が使いやすい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の初心者を脱したといえるレベルになりますので、何度も繰り返して考え方を身に着けていきましょう。
クエリの作成
次にクエリを作成します。
テーブルはただ単にデータを格納する箱です。
そのデータを利用しやすいように加工するのがクエリです。
例えば一部のデータを抽出したり、集計を行ったり、並べ替えたりして自分の使いやすいように加工します。
フォームの作成
次にフォームを作成します。
フォームは前述した通りデータを入力したり検索したり、ユーザーが操作する画面です。
ここまでに作成したテーブルやクエリをレコードソースとしてフォームを作成していきます。
効率よく、分かりやすく使えるようにボタン配置やレイアウトを変更することが可能です。
レポートの作成
印刷する帳票が必要なときはレポートを作成します。
レポートもフォームと同じく、テーブルやクエリをレコードソースにして作成します。
フォームとの違いはデータの入力ができない点です。
様々な帳票を事前に作っておくことで、定期的な印刷業務を効率化できます。
以上、ACCEESSの使い方(初心者向け)をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。