回答編集履歴

2

説明の補足

2017/06/21 13:21

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -19,3 +19,15 @@
19
19
 
20
20
 
21
21
  もし、そのままの状態ですと、リレーションシップで「参照整合性」にチェックを入れることができないので、テーブルBのテーブルAにない請求Noのレコードは削除しておいてください。不一致クエリをつかうと簡単にチェックできます。
22
+
23
+
24
+
25
+ **画像をみて補足**
26
+
27
+ 請求書テーブルB の主キーを「請求NO」にしてください。
28
+
29
+ 主テーブル側の結合フィールドは主キー(または重複なしインデックス)である必用があります。
30
+
31
+
32
+
33
+ ちなみに、テーブル定義SQLで、ON DELETE CASCADE の設定をすることをビジュアルなUIで設定できるようにしたのがリレーションシップ設定画面です。

1

補足の追加

2017/06/21 13:21

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -7,3 +7,15 @@
7
7
 
8
8
 
9
9
  上記を参考にリレーションシップの設定で2つのテーブルを結合して、「参照整合性」と「レコードの連鎖削除」にチェックをいれておけば、メインフォームのテーブルを削除すればサブフォームのテーブルの紐付いたレコードが削除されます。
10
+
11
+
12
+
13
+ **補足**
14
+
15
+ > 一度やってみたのですが、メインフォーム(テーブルA)のデータは削除されましたが、
16
+
17
+ > サブフォーム(テーブルB)のデータはそのまま残っている状態でした。
18
+
19
+
20
+
21
+ もし、そのままの状態ですと、リレーションシップで「参照整合性」にチェックを入れることができないので、テーブルBのテーブルAにない請求Noのレコードは削除しておいてください。不一致クエリをつかうと簡単にチェックできます。