トップページ ★MSアクセスウエッブカレッジ| サンプル(ダウンロードする)|業務統合4in1|小さな会社用『感嘆!』 |
10.・・・リレーショナルの設定入門4 |
リレーションシップの設定で、もう少し説明を加えてみますと。「1対1の設定」と「1対多の設定」があります。 文章から内容は大体わかるとお思いますが、そう、貴方の想像したとおりでしょう。多分。 では、1対1の設定のポイントは何でしょう。リレーションシップ設定は、対象の2つのテーブルの各フイルドの設定がありますよね。数値型でもテキスト型でも同じですが、対象テーブルの対象フイルドのプロパテイーで、indexの設定欄があります。ここを「重複しない」に設定することで、1対1のリレーションシップが設定可能となります。設定するフイルドは、同じように「重複なし」に設定してから。リレーションシップ画面で1対1にすることになります。 「1対1の事例」 (私と奥さんの関係) 私テーブルの番号と私テーブルの配偶者番号は、重複なしになります。もちろん、配偶者(奥さんテーブルの番号は重複なしです。これは、希望的には、重複ありに設定したいところですが、日本の」現状では、1対1しか認められていません。 残念ですが。え!何が。 (A製品の部品の関係) これは、普遍的なものではありませんで、ある会社の事例です。Aという製品がありまして。この製品は、10個の部品で構成されています。各部品は、A製品用に、特別仕様の部品がつきます。 「1対1」設定をすると、入力時リレーションシップのチェックがかかりますから、間違って入力すると、エラーが発生するので、正確な入力ができることになりますが、もし、「1対1」の関係が崩れた場合の入力は拒否されます。作成当初はいのですが、時間がたって、会社の環境が変わることがよくあって、この「1対1」の関係以外の製品が出てきたりして、困惑することが起きます。実務的には、特に「1対1」の設定が絶対条件でない場合、この関係は作りません。柔軟なシステムも大事なポイントですから。 「1対多」の設定 実務的には、ほとんどこの設定になることが多いです。多分。決め付けると「そんなことはない」などと固いひとからメールで脅かされたりしますので。事例の生徒スタテーブルと教師スタテーブルの関係で、生徒スタテーブルの教師フイルドは「重複あり」に設定する必要があります。このとき注意は、生徒スタテーブルの生徒番号と教師スタテーブルの」教師番号は、それぞれ「重複なし」の設定がされているはずです。 「1対多」のリレーションシップの設定は、一つのテーブルでなく2つのテーブルの関係を示すのですが。これわかりますか、わかりますよね。生徒スタテーブルを主テーブルで教師スタテーブルをリレーションテーブル(従テーブル)と呼び分けるといいと思います。主テーブルから見て、教師番号フイルドは、「重複あり」になるということです。 生徒が、40人いれば、40レコードに同じ教師番号が入ることに生ります。 どうしても、リレーションシップ設定で、「1対多」の線が引けないときの、チェックポイントとしては、まず何か勘違いをしているわけです。機械は正直で、今まで何回もどうして、作成できないのだろうと悩んだ時が、結構ありますが、全部自分の,勘違いでした。 まず、データが入っている状態で設定しようとする場合、現在あるデータの関係が「1対多」になっていなければ駄目です。だから、もしデータが入っている場合、バックアップをとって、一度、データを削除してから、リレーションシップ「1対多」を設定してください。たいてい,パスします。でも駄目なときは、フイルドの確認「重複なし」と有りの関係が大丈夫」ですか? リレーションシップの設定を変更するときも、簡単にいかないことがあります。設定されているので、「関係を削除できません」とエラーメッセージが出たとき。現在のテーブルをコピーしておきます。テーブルの名前を変えます。リレーションシップの設定を削除します。新しい関係を作って、基のデータを移します。これは実際に起こらないとわかりにくいので、一度設定したものをあとで変更するとき何かエラーメッセージがでて、やり方があることだけを覚えておいてください。 ★サンプルのダウンロード 【今までの参考ファイル】 |
メール:macro@mscn.net
| トップ|4in1|曙司法書士システム|公益法人|
|弁理士用大丈夫|弁護士用大丈夫|ARA ! |
| マクロ研究会|MSアクセス入門マガジン |マクロ会議室|ダウンロード|