質問: 以下のようなフォーム画面があります。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/c418fecd3b0a59b5b5ea970fa4c6884d.png) 内容/数量/単価/小計/備考はサブフォーム、 他の項目はメインフォームです。 画面一番下の検索欄にワードを入力することで、 メインフォームのすべての項目を検索対象として 部分一致で該当するレコードを表示します。 この検索結果のデータを、画面右上の「削除」ボタンを押すことで、 テーブルから削除したいです。 メインフォームの内容は「テーブルA」、 サブフォームの内容は「テーブルB」にそれぞれ入っているのですが、 「削除」を一度実行して、同時に2つのテーブルのデータを削除することは可能でしょうか。 どちらのテーブルにも共通するフィールド「請求No」の値にもとづいて テーブルAとテーブルBで共通する請求Noのレコードを一度の操作で同時に削除したいです。 ■一連の流れ フォーム画面でレコードを検索>「削除」をクリック>表示されていたレコードをテーブルから削除(テーブルは2つに分かれている) 一度やってみたのですが、メインフォーム(テーブルA)のデータは削除されましたが、 サブフォーム(テーブルB)のデータはそのまま残っている状態でした。 お分かりになる方がいらっしゃいましたら お力添えいただけますでしょうか。 よろしくお願いいたします。 追加1:リレーションシップエラー ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/54602d4e3fe7b7ca2db4b8d9eca1ca33.png) 追加2:請求書テーブルBの主キーを請求NOにしてのリレーションシップ ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/6b01af9abd945e517ba32c49616e30e1.png)
回答: テーブルが親子関係にあるならキーを張ったのち、テーブルをカスケード `ON DELETE CASCADE` にすれば親テーブルを消せば子テーブルが同時に消えてくれると思います。