Accessの使い方をアレコレ書いていく当ブログ、本日のテーマはリンクテーブルです。


【そもそもテーブルとクエリって何?】
まず基本的なところのおさらいです。

テーブルとはデータそのものです。
対して、クエリとは関数や条件などで抽出する計算だと考えてください。

下記のエクセルの例で言うと、左の数字が直接入っているものがテーブル、右の関数で計算されているものがクエリのようなものと考えると分かりやすいかと思います。
テーブルたとえ クエリたとえ


【テーブルの作り方】
データそのものであるテーブル、その作り方は大きく3通りあります。
①手でデータを打って作成する
②データをインポートする
③リンクテーブルを使う


①手でデータを打って作成する
これについては、本当にちょっとした作業を行ったり、専用のマスタを作成したりする程度の利用には向いています。

しかし、毎回のトランザクションデータを手で打つのは非効率ですし、間違える可能性も高まります。普段はあまり使わないことが多いでしょう。

②データをインポートする
インポートとは、データを引用して自動でデータを入力することを言います。
手で打っていたものを自動で作成してくれるようになるイメージです。

当初私が仕事で習った時は、多くがこのインポート処理を行っていました。
しかし、このインポート、大きな欠点があると感じました。

それは「どこのデータを」「どんな風に」インポートすれば良いのかは、知らないと出来ないことです。
また「正しい形」を知っていないと、先月のデータと今月のデータでフィールド数などが違っていた場合など、中々気付けません。


③リンクテーブルを使う
そこで色々考えた結果、よく使うようになったのがこの「リンクテーブル」です。

メリットは大きく2つ
・他の人に引継ぎがしやすい
・メンテナンスがしやすい


追加クエリを組み合わせることで、「どこのデータをどう処理して出来るのか」が見える化します。
CSVでも、エクセルでも、他のAccessテーブルでもリンクすることが出来る点も便利です。


【リンクテーブルの作り方】
①統一したファイル名(リンク先)と月次のファイル名(元データ)を別々に保持しておく
 下記では「集計表〇月」というデータが毎月送られてくる想定です。
 それはそれとして取って置き、リンク先用に「集計表」というファイルを用意します。
 例では「集計表3月」をコピーして、後ろの余計なファイル名を削って「集計表」としています。
リンク作成2
②リンクテーブルを作成する
 リンクテーブルを作成するのは最初の1回だけです。
 テキストの場合は、下記図の赤枠をクリックして、リンクテーブルを作成して~を選択。案内に従って作成します。
リンク作成1


出来た内容は下記の通り
リンク作成3



③翌月以降はファイルを置き替えるだけ
 翌月処理を行う場合、「集計表4月」を同様にコピー等の処理をして「集計表」とファイル名を変えます。
リンク作成4
 結果は下記の通り、数字が入れ替わっているのが確認できると思います。
リンク作成5

これでリンクテーブルは完成です。



【追加クエリを組み合わせる】
④累計テーブルを作る
累計テーブル
テーブル作成クエリなどを使って、累計用のテーブルを作ります。
今回の場合は、月次でデータを貰う想定なので、年月というフィールドを用意して、該当の年月を記載します。

⑤累計テーブルへ追加するクエリを作る
月次で追加するクエリは下記のような形としました。
毎月デザインビューで開いて、年月の数字を操作するイメージです。
目印として■をクエリ名に入れています(参考:クエリの名前の決め方のコツ
追加クエリ


 なぜ一旦テーブルの形にするかと言うと、貰った元データのフィールドの数や構成が変わっているかもしれないからです。
 必ず「このテーブルにしたいんだ」というものに対して、上手く当てはまっているかどうかを確認する必要性があったため、上記のような対応を行っています。インポート処理で行ってしまうと「このテーブル構成で良かったんだっけ?」になってしまうので、中々うまくいきません。

 また、累計の形で蓄積しておけば、後々分析する元データとして活用ができます。

 加えて、引用するリンク先が判るため、「どこのフォルダの」「どのファイル」を用いているかが他の人でも読み取れる点が非常に便利です。

なので、テーブルのメンテナンスは「リンクテーブル」+「追加クエリ」で累積していくと、
・やり方そのものは全部一緒
・リンク先などの細かい情報は可視化される

ので、マニュアル等を必要とせずに他の人への引継ぎやメンテナンスが容易になるという寸法です。