Accessの使い方をアレコレ書いていく当ブログ、本日のテーマはリンクテーブルです。
結論から言うと、テーブルはリンクで作成するのがいいですよ~という私の持論を展開するものです。

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

これについて、順を追って説明していきます。

【そもそもテーブルって何?】
まずは基本的なところのおさらい
テーブルとはデータそのものです。
対して、クエリとは関数や条件などで抽出する計算だと考えてください。

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

テーブルたとえ クエリたとえ


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


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

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

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

当初私が仕事で習った時は、多くがこのインポート処理を経ていました。
しかし、このインポート処理、大きな欠点があると感じました。
それは「どこのデータを」「どんな風に」インポートすれば良いのかは、知らないと出来ないことです。
また「正しい形」を知っていないと、先月のデータと今月のデータでフィールド数などが違っていた場合など、中々気付けません。

③データにリンクする
そこで色々考えた結果、良く使うようになったのがこの「リンクテーブル」です。
リンクする処理は、データを引用してそのまま利用することを言います。
インポートと違う点は、元データを変更・修正した時に自動反映される点です。インポートの場合はやり直しが必要になります。

CSVでも、エクセルでも、他のAccessテーブルでもリンクすることが出来ます。
非常に便利な点は、同じ場所に同じ名称でファイルを置けば、自動で差し替えすることが出来る点です。

【リンクテーブルを用いたメンテナンス例】
①統一したファイル名(リンク先)と月次のファイル名(元データ)を別々に保持しておく
 下記では「集計表〇月」というデータが毎月送られてくる想定です。
 それはそれとして取って置き、リンク先用に「集計表」というファイルを用意します。
 下記の状態では、「集計表3月」をコピーして、後ろの余計なファイル名を削って「集計表」としています。

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


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



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

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



 私の場合はこれに加えて「削除クエリ」「追加クエリ」で、テーブルをメンテナンスする形で作業を行っています。
 なぜ一旦テーブルの形にするかと言うと、先ほど少し触れたフィールドの数や構成が変わっているかもしれないからです。
 必ず「このテーブルにしたいんだ」というものに対して、上手く当てはまっているかどうかを確認する必要性があったため、上記のような対応を行っています。インポート処理で行ってしまうと「このテーブル構成で良かったんだっけ?」になってしまうので、中々うまくいきません。

 また、この形の方が良い点として、引用するリンク先が判るため、「どこのフォルダの」「どのファイル」を用いているかが読み取れる点にあります。

なので、テーブルのメンテナンスは「リンクテーブル」+「削除&追加クエリ」という形にしておくと、
・やり方そのものは全部一緒
・リンク先などの細かい情報はそこに書いてある状態になる

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