質問するログイン新規登録

回答編集履歴

2

説明の補足

2017/06/21 13:21

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -8,4 +8,10 @@
8
8
  > 一度やってみたのですが、メインフォーム(テーブルA)のデータは削除されましたが、
9
9
  > サブフォーム(テーブルB)のデータはそのまま残っている状態でした。
10
10
 
11
- もし、そのままの状態ですと、リレーションシップで「参照整合性」にチェックを入れることができないので、テーブルBのテーブルAにない請求Noのレコードは削除しておいてください。不一致クエリをつかうと簡単にチェックできます。
11
+ もし、そのままの状態ですと、リレーションシップで「参照整合性」にチェックを入れることができないので、テーブルBのテーブルAにない請求Noのレコードは削除しておいてください。不一致クエリをつかうと簡単にチェックできます。
12
+
13
+ **画像をみて補足**
14
+ 請求書テーブルB の主キーを「請求NO」にしてください。
15
+ 主テーブル側の結合フィールドは主キー(または重複なしインデックス)である必用があります。
16
+
17
+ ちなみに、テーブル定義SQLで、ON DELETE CASCADE の設定をすることをビジュアルなUIで設定できるようにしたのがリレーションシップ設定画面です。

1

補足の追加

2017/06/21 13:21

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -2,4 +2,10 @@
2
2
 
3
3
  [参照整合性とは(リレーションシップ)~マイクロソフトアクセス活用法](http://www.sk-access.com/syo_table/sta007_sansyo.html)
4
4
 
5
- 上記を参考にリレーションシップの設定で2つのテーブルを結合して、「参照整合性」と「レコードの連鎖削除」にチェックをいれておけば、メインフォームのテーブルを削除すればサブフォームのテーブルの紐付いたレコードが削除されます。
5
+ 上記を参考にリレーションシップの設定で2つのテーブルを結合して、「参照整合性」と「レコードの連鎖削除」にチェックをいれておけば、メインフォームのテーブルを削除すればサブフォームのテーブルの紐付いたレコードが削除されます。
6
+
7
+ **補足**
8
+ > 一度やってみたのですが、メインフォーム(テーブルA)のデータは削除されましたが、
9
+ > サブフォーム(テーブルB)のデータはそのまま残っている状態でした。
10
+
11
+ もし、そのままの状態ですと、リレーションシップで「参照整合性」にチェックを入れることができないので、テーブルBのテーブルAにない請求Noのレコードは削除しておいてください。不一致クエリをつかうと簡単にチェックできます。