投稿日時:

Access等のデータベースソフトは、Excelよりも大量のデータを保管して活用できます。
その「大量のデータ」を扱うために、データベースは様々な工夫をしています。
その一つが、「リレーションシップ」です。

Excelでは、一つの表に全ての情報が入るようにデータを作成します。
その際に「何度も出てくるデータ」はVlookUp関数を利用して表示することがあります。この時は、参照するための別表を作るため、一つの表に全ての情報を入れるのではなく、表を複数に分けてデータを管理します。
VlookUp関数を使用するのは、3つの目的のためです。
 1) 入力を簡易にする(ID番号を入力するだけで商品名や単価が表示される)
 2) 入力ミスを防ぐ(商品名や単価を間違えない)
 3) 入力値の整合性をとる(参照元データを変更すると、一覧表側のデータは変更された値が表示される)

さてAccessでは、基本的にデータの格納されたテーブルは複数に分かれています。そしてExcelでのVlookUp関数の場合と同様に、同じフィールドを「リレーションシップ」で繋いで、あたかも一つのテーブルであるかのように扱えます。
Accessでリレーションシップを設定する理由は、上記ExcelのVlookUp関数の場合と同じ考え方です。

そこで、ExcelのVlookUpとAccessのリレーションシップの違いについてご説明します。
Excelでは別表から参照値を主となるシートに転記することに対し、Accessのテーブルには参照された値を表示や入力せず、クエリ・フォーム・レポート等でそのつど繋げて出力することです。つまり、テーブルの各レコードごとに参照された値や数式の入力は不要です。
そのため、Excelよりもデータのサイズがコンパクトになり、より大量のデータを扱うことが可能になります。

なお、リレーションシップ作成の際に注意すべき点については、下記の記事をご参照ください。
http://www.frontier-link.jp/Blog/business/1455.html

今回はExcelでもVlookUp関数と似た機能としてリレーションシップをご紹介しましたが、次回、Excelでは管理が難しいデータをAccessのリレーションシップで解決する方法をご紹介いたします。
違いを知ることで、データ管理にお役立ていただければ幸いです。

(担当:瀧川 仁子