Accessの使い方をアレコレ書いていく当ブログ、本日のテーマはリンクテーブルです。
そもそもテーブルとクエリってなに?
まず基本的なところのおさらいです。
テーブルとはデータそのものです。
対して、クエリとは関数や条件などで抽出する計算だと考えてください。
下記のエクセルの例で言うと、
上の数字が直接入っているものがテーブル
下の関数で計算されているものがクエリ
と考えると分かりやすいかと思います。


テーブルの作り方
データそのものであるテーブル、その作り方は大きく3通りあります。
- 手でデータを打って作成する
- データをインポートする
- リンクテーブルを使う
1つ目:手でデータを打って作成する
これについては、本当にちょっとした作業を行ったり、専用のマスタを作成したりする程度の利用には向いています。
しかし、毎回のトランザクションデータを手で打つのは非効率ですし、間違える可能性も高まります。普段はあまり使わないことが多いでしょう。
メリット・使いどころ
- 少しだけ修正するのに簡単
- 専用のマスタを作成する時に使える
デメリット・向かない作業
- データが多くなると手間がかかり、非効率
- ミスする可能性が高い
2つ目:データをインポートする
インポートとは、データを引用して自動でデータを入力することを言います。
手で打っていたものを自動で作成してくれるようになるイメージです。
当初私が仕事で習った時は、多くがこのインポート処理を行っていました。
しかし、このインポート、大きな欠点があると感じました。
それは「どこのデータを」「どんな風に」インポートすれば良いのかは、知らないと出来ないことです。
また「正しい形」を知っていないと、先月のデータと今月のデータでフィールド数などが違っていた場合など、中々気付けません。
メリット・使いどころ
- 引用できるので膨大なデータを扱う時に便利
- テーブルを確定できるので、安定的に作業できる
デメリット・向かない作業
- インポート元のデータが判らないことがある
- インポートの条件・仕様は知っていないと判らない
- 修正の都度やり直しになると手間が掛かる
3つ目:リンクテーブルを使う
そこで色々考えた結果、よく使うようになったのが「リンクテーブル」です。
メリットは大きく2つ
- メンテナンスがしやすい
- 他の人に引継ぎがしやすい
追加クエリを組み合わせることで、「どこのデータをどう処理して出来るのか」が見える化することが出来ます。
CSVやエクセル、他のAccessテーブルなど、様々なファイル形式とリンク出来る点も便利です。
とても便利なのでおススメすると共に、以下で利用法を述べていきます。
リンクテーブルの作り方
統一したファイル名(リンク先)と月次のファイル名(元データ)を別々に保持しておく
下記では「集計表〇月」というデータが毎月送られてくる想定です。
それは保管用に取って置き、リンク先用に「集計表」というファイルを用意します。
例では「集計表3月」が保管用に取って置くもの、コピーしてリンク先用にしたものが「集計表」としています。

リンクテーブルを作成する
リンクテーブルを作成するのは最初の1回だけです。
テキストの場合は、下記図の赤枠をクリックして、リンクテーブルを作成して~を選択。案内に従って作成します。

出来た内容は下記の通り

翌月以降はファイルを置き替えるだけ
翌月処理を行う場合、「集計表4月」を同様にコピー等の処理をして「集計表」とファイル名を変えます。

結果は下記の通り、数字が入れ替わっているのが確認できると思います。

これでリンクテーブルは完成です。
追加クエリを組み合わせる
累計テーブルを作る

テーブル作成クエリなどを使って、累計用のテーブルを作ります。
今回の場合は、月次でデータを貰う想定なので、年月というフィールドを用意して、該当の年月を記載します。
累計テーブルへ追加するクエリを作る
月次で追加するクエリは下記のような形としました。
毎月デザインビューで開いて、年月の数字を操作するイメージです。
目印として■をクエリ名に入れています(参考:クエリの名前の決め方のコツ)

整理すると、元データ→リンクテーブル化→累計テーブルへ追加、という回りくどい処理をしています。
ポイントはリンクテーブルをそのまま扱わず、累計テーブルの形に直すことです。
背景には、貰った元データのフィールドの数や構成が変わっているかもしれないという考えがあります。
送ってくる先も引継ぎやシステムの変更などで、必ず同じものを送ってくるとは限りません。
下手をすると同じものを送っていると思いながら、若干名前や構成が違うものを送ってくるかもしれません。
こちらとしては、「処理のためにこのテーブルにしたいんだ」というものに対して、上手く当てはまっているかどうかを確認する必要が出てきます。
その作業の代替として「累計テーブルに追加する」という作業を行っているのです。
累計の形で蓄積しておけば、分析用データとして活用もできますので、無駄になることも少ないでしょう。
リンクテーブルのメリット
メンテナンスがしやすい
こうして作ったリンクテーブルですが、翌月以降は~で述べた方法で、データの修正を行うことができます。
つまり、元データを修正する必要がある時は「集計表」というファイル名にしてファイルを置き換えれば良く、とても簡単です。
他の人に引継ぎがしやすい
テーブルの基になっているデータについて「どこのフォルダ」の「どのファイル」を用いているかは、非常に重要な点です。
リンクテーブルの場合は、引用するリンク先が判るため、マニュアルなどが無くても容易に読み取ることが出来ます。これが非常に便利です。
まとめると、テーブルのメンテナンスは「リンクテーブル」+「追加クエリ」で累積していきましょう。
それによって
- 多くの集計が全て同じやり方(=クエリをクリック)で出来る
- リンク先などの細かい情報が可視化される
ので、メンテナンスが簡単になり、かつマニュアル等を必要とせずに他の人への引継ぎすることが可能になります。
困っている方はぜひご参考ください。