【Access】リンクテーブルのメリットとインポートとの違い

アクセス担当のまみです。

リンクテーブルとインポートって何が違うの?

どんな時にリンクテーブルを使うの?

 

今回はそんな疑問にお答えしようと思います。

違いが分かればどっちを使ったらいいのか迷わなくて済みますね。

 

インポート

 

アクセスからだったりエクセルからだったり、元のデータからアクセスに取り込むことをインポートって言います。

取り込んだデータと元のデータは独立しているので、それぞれ別のデータになります。

元のデータが書き換わって最新のデータになっても、インポートして取り込んだもう一つのデータは書き換わりません。

 

 

(あいちゃん)
上のデータが元のデータで、下がインポートしたデータ。下のデータは元のデータのIDが10まで入力された時に取り込まれたデータだね。

 

(はてな君)
そっかぁ。元のデータとインポートしたデータは関連がないから元のデータが変わっても反映しないんだね。

 

エクセルからのインポート方法は下記の記事をどうぞ!

アクセスにエクセルのデータをインポートとエクスポート!

2018年10月1日

 

リンクテーブル

 

リンクテーブルってインポートと違って、元のデータとリンクさせているので、元のデータが書き換わると、リンクテーブルも書き換わります。

どのデータが最新なのかなって探さなくてもいいのがメリットです。

 

 

(はてな君)
へ~そうなんだぁ。便利なんだね。

 

(あいちゃん)
そう。だから、最新のデータが欲しいときとかだとリンクテーブルにしておくと良いよね。

 

(はてな君)
そっか。例えば10/1日現在のデータだけ欲しいって時もあったりするんだ。

 

(あいちゃん)
そうそう。そういう場合は書き換わって欲しくなかったりするでしょ。だからデータをインポートして使う。

 

(はてな君)
どういうデータが欲しいかで使い分ければ良いってことだね。

 

インポートとリンクテーブルのそれぞれのメリットを活かして選択してくださいね。

 

元データがアクセスの場合のリンクテーブル設定方法

 

まずリンクさせたいアクセスのファイルを開きましょう。

リボンの「外部データ」から「Access」を選択します。

 

①「参照(R)」を左クリックして、リンクさせたいファイルを選びます。

「リンクテーブルを作成してソースデータにリンクする(L)」 を選んだら「OK」を左クリックします。

 

必要なテーブルを選択したら「OK」を左クリックします。

 

※今回「T_営業日報」のみを選択していますが、クエリやフォーム等作成していて他のテーブルが必要な場合には、他のテーブルも選択してください。

 

 

(はてな君)
もう終わったの?テーブルの左側に矢印が付くんだね。

 

(あいちゃん)
そう。それがリンクテーブルですよって意味なんだよ。

 

元データがアクセスの場合は、元のファイルとリンクテーブルのファイルのどちらを変更してもどちらにも変更が反映されます。 

 

元データがエクセルの場合のリンクテーブル設定方法

 

リボンの「外部データ」から「Excel」を選択します。

 

①「参照(R)」を左クリックして、リンクさせたいファイルを選びます。

「リンクテーブルを作成してソースデータにリンクする(L)」 を選んだら「OK」を左クリックします。

 

 

(あいちゃん)
先頭行をフィールド名にしてくれるので、そのまま完了を選んでもいいんだけど、「次へ」にしてみましょう!

 

(はてな君)
ここで終わらせてもいいんだぁ。でもどんな画面か見たい!

 

エクセルのシート名が初期表示されています。テーブル名をここで指定できるので、指定したら「完了」を左クリックします。

 

(はてな君)
そっか。さっきの画面で「完了」を選んだら、後でテーブルの名前の変更すればいいってことなんだ。

 

(あいちゃん)
そうそう。ここで名前を変更してもいいし、どっちからでもできるんだよ。

 

リンクしましたってメッセージは「OK」で閉じておきましょう。

 

 

(はてな君)
エクセルとのリンクはエクセルのマークになるんだね!

 

 元データがエクセルの場合は、アクセス側でのデータ更新はできません。

(はてな君)
元データがアクセスの時はリンクデーブルとかあんまり意識しなかったけど?

 

(あいちゃん)
そうだね。元データがアクセスの場合はどっちからでも変更ができるから、リンクテーブルだからとか意識しなくても全然使用できるんだけど、元データがエクセルだとデータの編集はエクセルからしかできないんだ。

 

(はてな君)
えっじゃあなんでリンクさせるの?

 

(あいちゃん)
アクセスが得意なクエリを使用したいからだよ。リンクテーブルにしておけば、毎回データをインポートしなくてもそのまま使えるでしょ!

 

(はてな君)
なるほど~。

 

 

注意点1

 

エクセルが開いていない状態で、アクセスを開いた場合に、エクセルを開こうとすると「読み取り専用(R)」のメッセージが表示されます。

 

(はてな君)
エクセルを誰かが開いていると同じファイルを開こうとしたときに出るメッセージと同じだね。ふ~ん。同じファイルを開こうとしているって感じなんだ。

 

注意点2

エクセルを先に開いていて、アクセスを開いた場合は普通に開けますが、エクセルを閉じるとエラーになります。

 

そんな時は、使用していたテーブルやクエリを一度閉じて開きなおしましょう。

 

(はてな君)
へ~。元データがエクセルだとちょっと制約があるんだね。

 

リンクテーブルをローカルテーブルにしたい時

 

(はてな君)
リンクテーブルからローカルテーブルに変更できるんだ。

 

(あいちゃん)
リンクを外したい時に外せるから便利でしょ。

 

リンクを外したいテーブルを右クリックして「ローカルテーブルに変換」を左クリックします。

 

 

(はてな君)
もう終わったの?簡単にローカルテーブルに変更できるんだね。

 

一度ローカルテーブルに変更すると元に戻せません。

リンクテーブルにしたい場合はもう一度リンクさせてくださいね。

 

まとめ

 

インポートとリンクテーブルの違いや、どんな使い方についてお伝えしました。

元データがアクセスかエクセルかによっても使用方法が違うので、それぞれの特徴を活かして使用してみてくださいね。