最新トピック
2
17 時間前
Sharepointリストとの連携について 17 時間前
1
21 日前
排他制御 21 日前
2
1 ヶ月前
Hatena様にご質問 1 ヶ月前
6
3 ヶ月前
モジュールでカレントフォームのコントロールを使うには 3 ヶ月前
7
4 ヶ月前
日付のテキストボックスからフォームが開けません 4 ヶ月前
9
4 ヶ月前
レポートにおける数値の間隔を広げる方法 4 ヶ月前
12
4 ヶ月前
リストボックスから複数選択しそれをテーブルに格納したい 4 ヶ月前
タグリスト
Markdown テーブル生成
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
質問の設定だと、それぞれのテーブルが
M1(一) →(多)M2
M1(一) →(多)M3
のような一対多関係になります。
一つのクエリで上記の結合をしてしまうと、M2とM3が多対多の関係になるので、ユニークに決まらない場合で出てくるので整合性エラーになります。
例えば、下記のような場合、
M1
1 1 A
1 2 B
1 3 C
M3
1 1 X
2 1 E
2 2 F
M2 の FK が 1 1 のとき、A か X か決まりませんよね。
M1 と M3 を分けずに一つににまとめれば、このような重複は許可されないので整合性の保証されたデータになり、エラーはでなくなります。
PK
1 1 A
1 2 B
1 3 C
1 4 D
2 1 E
2 2 F
2 3 G
M1 と M3 を分けたまま、2つのテーブル間で上記のようなユニーク属性を制定するのはできません。
やるとしたら、上記のように一つに纏めておいて、必要に応じて、選択クエリで分割することになると思います。
整合性が保障されないので、整合性に反したデータの入力が可能になってしまいますので、入力、更新するたびに自前で整合性をチェックする(VBAなどで)ことになります。
わざわざそのような面倒かつ不確実なこともぜすとも上記のように必要に応じて選択クエリに分ける設計にすれば問題奈と思います。