Accessの使い方教えます!(初心者向け)

ExcelやAccessを中心に、お仕事のコツ的なものを書いていきたいと思います。

縦にずらっと並ぶ明細データを、帳票の形にする(横に並べる)には、
クロス集計が便利です。

【クロス集計の例】
売上データ3週目
 ↓ クロス集計すると…
クロス集計


ではクロス集計を、クエリではなく、テーブルとして持ちたい時はどうすれば良いのでしょうか?

答えは「クロス集計したクエリを、別のクエリでテーブル作成する」です。

クロス集計2
上の図で言うと
赤枠でクロス集計を作り、
青枠でテーブル作成クエリで、赤枠のクエリをテーブル化しています。



ちょっとしたことですが、使い始めて最初の頃はこういったちょっとしたことが判らなかったりするので、覚えておくと便利です。

また、今回のように、1つのクエリで出来無さそうな時は、
いくつかのクエリを作って徐々に処理を進めると上手く行く場合が多いので、ご参考まで。






Accessで自動的に連携しようとしても、ファイルの置き場所やファイル名など色々な制限があるケースがあります。
それらを解消するために、バッチファイルを活用するのも1つの手です。

【バッチファイルってなに?】
平たく言うと、実行すると自動でなんか処理してくれるファイルだと思えば問題無いです。

何を処理させるかは記載されている内容に従います。

Accessを利用する上では、
①「ファイルの置き場所を変更する」バッチファイルを作り、Accessで出力したファイルを別の場所に移す

②「ファイルのバックアップを退避させつつ、ファイル名を特定のものにする」バッチファイルを作り、リンクテーブルの内容を自動で置き換える


などの使い方が有用です。


【バッチファイルの作り方①】(ファイルの置き場所を変更する)

1.テキストファイルにコマンドを書き込む

書き込むコマンドは下記の通り

************

::エクスポート_20170831ファイルを移動先フォルダへコピーする
copy C:\Users\light\Documents\ブログ用\エクスポート_20170831.xlsx C:\Users\light\Documents\ブログ用\移動先 /y

delete /y

************
バッチファイル01

上記の内容で行いたいことは、コピーペーストです。
バッチファイル02

実際には、青字とピンク字のアドレスを記載する部分を書き換えることになります。



2.拡張子「.bat」で保存する

バッチファイル03


これでバッチファイルは完成です。
ファイルをダブルクリックして、動作を確認してみましょう。


【バッチファイルの作り方②】(ファイルをバックアップ&ファイル名を変更する)


書き込むコマンドは下記の通り。

************
::「エクスポート.xlsx」ファイルを削除
del C:\Users\light\Documents\ブログ用\エクスポート.xlsx

::エクスポート_で始まるファイルを移動先フォルダへコピーする
copy C:\Users\light\Documents\ブログ用\エクスポート_*.xlsx C:\Users\light\Documents\ブログ用\移動先 /y

::エクスポートで始まるファイルを「エクスポート.xlsx」ファイル名に変更する
ren C:\Users\light\Documents\ブログ用\エクスポート_*.xlsx エクスポート.xlsx

delete /y
************
前提として、
 ・毎日「エクスポート_YYYYMMDD.xlsx」という形でファイルが連携されてきている
 ・これを「エクスポート.xlsx」という形にできれば、Accessのリンクテーブルで繋げることが出来る(「エクスポート.xlsx」という名称に変更したい)
という前提があると仮定します。

上記のコマンドで行う内容は図示すると下記の通り。
バッチファイル04

1.前日分の「エクスポート.xlsx」を削除する
2.元データのバックアップを残す
3.「エクスポート.xlsx」に名称変更し、ファイル置き換えを完了させる

という流れになります。

実際に行う際は、アドレスやファイル名部分を書き換えて利用してください。

【参考】
タスクスケジューラと組み合わせると、夜に自動作業できる幅が大きく広がりますのでご参考まで
Accessをタスクスケジューラで動かしてみる(Accessを自動化してみよう)








私は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へ苦手意識を持っている方は、ぜひご参考に!







↑このページのトップヘ