Please visit our sponsors.
スポンサーも訪れて下さい

トップページ ★MSアクセスウエッブカレッジサンプル(ダウンロードする)|業務統合4in1小さな会社用『感嘆!』  

■★■MSアクセスマクロ・TOPICS■★■

10.・・・リレーショナルの設定入門3
リレーションシップの設定は具体的には、テーブル間で行う。

操作としては、データベースのテーブルを開いた状態で、マウス右クリックすると、プルダウンメニューに、「リレーションシップ」の項目が表示されるので、クリックすると、リレーションシップ設定画面が表示される。そこで、リレーションシップを設定したいテーブルを、選択します。え!どうやるのかって?画面上で右クリックすれば、テーブル表示メニューがでますよ。

まず、最も中心となるテーブルを選択します。事例は、生徒マスタテーブルを表示します。次に、生徒マスタテーブルにあるフイルドで、リレーションシップを設定したいものを選びます。1つのテーブルで、複数のリレーションシップを設定することも可能です。ここでは、生徒マスタテーブルにある、教師番号を例にします。

教師マステーブルを配置します。生徒マスタテーブルと教師マスタテーブルを横に揃えておきます。さて、準備完了です。いよいよリレーションシップの設定です。教師マスタテーブルの教師番号をドラッグアップして、生徒マスタテーブルにドラッグダウンします。

すると、リレーションシップ結合画面が出ます。設定項目を選択決定します。複数も可能ですが、初心者は欲張らないことも大事。一つのフイルドをのリレーションシップを結合するとして、話を進めています。今表示されている画面がリレーションシップ設定画面ですが、設定フイルドをドラッグしたので、フイルドが選択表示されています。
 
「結合の種類」

1両方のテーブルの結合フイルドが同じ行だけを含める

これは内部結合といって、設定項目を一致するもののみを表示するもので。分かりやすいですね。担当教師番号(1)に対して、生徒マスタテーブルの教師番号1のものを表示するということです。一方 結合の2と3は外部結合といって、一方のテーブルを基準にして、その全レコードを対象に選択するものですが、ま、普通のシステムでは使わなくてすみますので、説明も止めます。
結論として、「結合の種類は、「1」を選択(規定値)でOKです。

「参照整合性」
チェックマーク付の項目に「参照整合性」があります。実際の場面で、リレーションシップでのエラーの最も多い項目です。エラーは、新しいデータ入力時に起きます。当然データ作成クエリー実行時にも起こります。

このエラーは何を怒ってでてくるのかと言えば、
「あんた、それは、リレーションシップの約束と違うんじゃない。面倒見られ
ませんよ」
 ということです。
実生活では、
「まあ、まあ、固いこといわずに今回だけ、許して、お願い」
 で済んでしまうことも、コンピュータは駄目。
本当に融通がきかない。なんて、怒っているようでは、システムなんて作れませんよ。惚れた弱み(惚れてないか)、言うがままにしましょう。

例えば、ある生徒の担当教師番号に3番と入力したら、エラーメッセージに「テーブル教師マスタテーブルにリレーションシップが設定されたレコードが必要なので、レコードの追加変更はできません」
 と出て、レコードは作製されません。
つまり、教師スタテーブルにないものを入力することはできないことになります。
 
「参照整合性」をクリアすることが、リレーショナル型データベースの基本仕様となります。これが、あいまいでは、リレーショナル型データベースの構築は難しいです。でも、あまり難しく考えないほうがいいです。よく分からない場合は、リレーションシップを設定しないで、システムを作成すること進めます。非基幹系システムなら、それで大丈夫。
 
「参照整合性」は、システムのマクロ実行時にもよくテストしておなかければなりません。

マクロ実行時にこの問題で怒ることは、{データーが作成されない}現象です。追加クエリーの実行でレコードが追加作成できない場合です。入力の時は、項目を確認できますから、どうしてなのか、見やすいですが、マクロ内でおこると、原因がわからず、混乱することがよくあります。

こういったときは、原点である、テーブルで現象を確認することがポイントでしょう。クエリーが変とかマクロがおかしいとチェックする前に、テーブルの状況を確認してください。

「参照整合性」は、レコード同士の、リレーションシップ設定項目の一致、不一致のただこの一点の問題です。実務的には、番号の問題になることが多い(設定項目には番号が多いから)。同じ番号がとれない場合、すでに作成されている番号を使ったレコードの追加はできません。

このことを、ヨーーーク考えてください。リレーションシップが見えてきます。


★サンプルのダウンロード
【今までの参考ファイル】


お得で便利なNTTネットワークサービス!クリックしてみて!


メール:macro@mscn.net

| トップ4in1曙司法書士システム公益法人
|弁理士用大丈夫弁護士用大丈夫ARA ! |
| マクロ研究会MSアクセス入門マガジン |マクロ会議室ダウンロード

e="-