私はAccessを社会人になってから扱い始めましたが、比較的最初から得意でした。
一方で、Accessが苦手って人が居ることもよく理解できます。

その違いは勉強法や覚え方の問題というよりは、
ただのちょっとしたコツなのだと思います。

今日はそのコツ――Accessを扱うちょっとしたコツについて述べたいと思います。


【Accessを扱う3つのコツ】
1.「テーブル」と「クエリ」の違いを理解する

2.データの紐付け方3種類を理解する

3.ユニークコードに気を付ける




1.「テーブル」と「クエリ」の違いを理解しよう!
多くの方は、それまでExcelを使ったことはあっても、Accessは使ったことが無かったと言う方が多かったのではないでしょうか?
Accessで最も特徴的なのは、「テーブル」「クエリ」です。

テーブルとクエリをイメージ図にすると、下記のような感じでしょうか。
テーブルクエリイメージ
テーブルは紙の資料をイメージしています。つまり、データそのものです。
クエリはバインダーをイメージしています。データを用いて計算したり、まとめたりして、見やすい形に整えることです。


要するに、Accessで作業を行わなければいけない時の考え方として、
 ①社内のどのデータを使うか(テーブルを作る)
 ②データをどう加工するか(クエリを作る)

の2段階で考えるのが最もシンプルになります。

あれもこれもと考えるのではなく、
 ①まずテーブルを作る
 ②作り終わってからどう加工するかを考える(クエリを作る)
という手順で作業を行っていきましょう。


2.データの紐付け方3種類を理解しよう

クエリは主に
 「データを抽出する」
 「テーブル同士をくっつける」
 「データを計算する」
という3つのことが出来ます。
例えるなら、バインダーに挟む資料を選んだり、資料の内容が似たものをまとめたりと言ったところでしょうか。

中でもポイントになるのは「テーブル同士をくっつける」という点になります。
「データを抽出する」「データを計算する」ことは、Excelのフィルタ機能や、関数と言った機能と近いものがあるので理解しやすいのですが、「テーブル同士をくっつける」ことはExcelで類似の機能が無いので、理解しにくい概念だからです。

データの紐づけ方
テーブルの紐づけ方は全部で3種類

 パターン1は、テーブルAの全てのデータに対し、テーブルBのデータをくっつける(テーブルBは漏れがあってもよい)

 パターン2は、その逆(テーブルAは漏れがあってもよい)

 パターン3は、両方に共通するデータを抽出する(両方漏れがあってもよい)


となります。

要はテーブルAとテーブルBでどちらに「漏れがあると困るのか」という観点で考えると良いでしょう。


例題を挙げてみます。
今月の売上(テーブルA)は下記のような状況でした。
テーブル例2

お客様の名称と請求先住所、カナ、担当部署などが記載されたマスタデータ(テーブルB)があるとします。
請求や入金消込に必要なデータですね。
テーブル例1


2つのテーブルをくっつけて加工して、請求用のデータを作りたいとします。

ポイントは、テーブルB側で不要なデータがある=テーブルBのデータは漏れても良い点です。
この場合、九州商事は売上が無いので、請求データを作る必要がありません。
逆にテーブルAで不要なデータは存在しません(というか請求漏れがあると困ってしまいます)
テーブル例3
なので、
 パターン1 テーブルAを基に、テーブルBのデータをくっつける
という形で作ることが良いとなります。


このように、この3種類のデータの紐づけ方を理解すると、対応力は格段によくなるので、
「不要なデータの有無」「漏れると困るデータの有無」という観点で、3種類の紐づけ方を判断するようにしましょう。



3.ユニークコードに気を付けよう
さて、クエリを作るにあたって、初心者が共通してミスしやすい点があります。
それは「紐づけするフィールドが違っている」点です。

本当にちょっとしたミスではあるのですが、
実際に作業している時は中々気付けず、時間をやたらと食ったり、苦手意識を持ってしまったりする原因となります。

この「違っている」にも2種類あるので、分類してみましょう
 ①単純にフィールドが違う
 ②項目がユニークではない



①は例えば先ほどの例で、テーブルBが下記のような形だったと仮定します。
テーブル例4
「お客様の名前でマッチさせよう」と思って、「顧客」というフィールド同士で紐づけさせようとしたら、1行目と3行目が紐づきません。
(株)とか株式会社などの文字が入っているので、テーブルAの「顧客」と一致しないのです。

これに対する対策としては、事前にテーブルを開いて「この項目はこういう体系なんだな」と確認をしたり、「コード変換用のテーブルを用意する」「紐づけするコードはどれが共通するものかをマニュアル(仕様書)をチェックする」などになります。

個人的には、事前に項目をチェックする案を推奨します。
経験上になりますが、初心者や慣れない方ほど確認しない傾向があるので、ちゃんと自分で項目をチェックすることが上達に一番だと考えるからです。



②は「ユニークコード」の理解が必要になります。
「ユニークコード」とは、そのデータの内容が他の列と被りが無いものを指します。

例えば先ほどのテーブルA(売上データ)を例に挙げましょう。
テーブル例2
これはデータが少ないですが、たくさんデータがあると仮定すると、
どの項目が被りが無いと考えられるでしょうか?

答えは「ID」という項目がユニークコードに該当します。
他の項目は全部「被り」がある可能性があります。

ユニークコードの理解がなぜ必要かというと、
ケースにも拠りますが、ユニークコードで紐づけを行い、データを付与するのが通常だからです。


例えば
1つのデータに対して、3つのデータを付与したら、
3種類のデータが出来上がってしまいます。
ユニークコード
この認識が無いと、データが上手く処理できない状態に陥ってしまいます。

「ユニークコード」を認識し、「ユニークコード」で紐づけをする
これを意識することが上達のコツになります。


いかがでしたでしょうか?
上記をまとめると

【Accessを扱う3つのコツ】
1.「テーブル」と「クエリ」の違いを理解する
 →①テーブルを作る、②クエリを作る という順番で作業を進める

2.データの紐付け方3種類を理解する
 →クエリは「不要なデータ」「漏れたら困るデータ」という観点で、紐づけ方を判断する

3.ユニークコードに気を付ける
 →ユニークコードを意識して処理することで、ミスが少なくなる


ということになります。

Accessへ苦手意識を持っている方は、ぜひご参考に!