Microsoft Access Club >初心者講座 >休暇申請管理ソフト >このページ >次頁 - 前項  サイト内検索


リレーションについて:休暇申請管理ソフト



リレーションを取り上げます。今回は、特に神経質になる必要はありません。下記のように設定していますので、まさしく基本ですね。

最初、「休暇種別マスター」テーブルを設けて「tbl_有休s」とリレーションを結ぼうかなとも考えたんです。入力者に"コンボボックス"や"オプショングループ"を 利用させるにしても、その方が自然ですから…。
しかし、特に大きな理由がなかったんですが、休暇項目に申請日を付与したかったこともあり、使わない方向でやってみようと結論しました。

クエリ内での一時的なリレーション

リレーションについては、あまり深く悩まない方がいいと思います。
ご存知かと思いますが、上記のようなリレーションを全く設定しなくても、必要なときにクエリ内でテーブルやクエリ間にリレーションを設定(下図)すれば、 対処できることが多いですから・・。しかし、この場合はこのクエリ内だけにしか、リレーションの効用が及びませんが…。

  • 等結合以外のリレーションについては、上記のように個別クエリ内だけで設定する方が簡単です。システム全体にリレーションの効用を及ぼしたい時は、「ツールメニュー」から設定すればいいですし、特に効用を限定したい場合はクエリ内での設定にとどめてもいいかと思います。

等結合以外のリレーションについての解説はここをクリックして下さい。

クエリ間でリレーション設定も可

それと、リレーションの設定は、下記の組み合わせが行えます。

  1. テーブル同士で結ぶ。
  2. クエリとテーブル、またはクエリ間でも可能です。

但し、残念ながら今回はクエリ内でリレーション設定やテーブルとクエリとの リレーション設定は予定していません。

参照整合性、フィールドの連鎖更新、レコードの連鎖削除

リレーション設定時には、下記の設定をオンにして下さい。

  • 参照整合性
  • フィールドの連鎖更新
  • レコードの連鎖削除

をオンにします。基本は有効にすると考えて下さい。

リレーション設定ができない事由

それと、リレーションの設定をしようとするとエラーメッセージが表示され、設定できない場合がままあります。この理由は下記の場合が多いので、その節はチェックして みて下さい。

  1. 既にテーブルにデータが入力されており、リレーション間のテーブルと「参照整合性」が取れない場合。
    例えば、1対多の設定で、多側のデータが全て1側になくてはなりません。 この場合は、「参照整合性」欄をオフにすると設定が可能ですが、矛盾を含んだ結合の可能性大です。お勧めできません。
  2. リレーションを設定する各々のデータ型が同じでなくてはなりません。この場合も「参照整合性」欄をオフにすると設定が可能ですが、お勧めできません。修正しましょう。

関連ページ

 

ページの先頭へ 前ページへ戻る


リレーションについて:休暇申請管理ソフト


 

-Microsoft Access Club-