• ベストアンサー

Access フォームのレコードソースに選択クエリを設定した場合のレコード削除

ACCESS2003を使用しています。 フォームでレコードソースをあるテーブルの選択クエリにしています。 フォームはデータシートビューでレコードを右クリックして削除すると、 削除されますが(画面上からは消えますが)、フォームを再立ち上げすると 元に戻っています。 よく見ると選択クエリからレコード削除しても元のテーブルからは 削除されません。 こういうものなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • gadd3
  • ベストアンサー率46% (211/451)
回答No.1

リレーションの参照整合性やクエリの内容によっては削除や修正ができない場合があります。 例えばクロス集計クエリのレコードは更新も削除もできません。 また、参照整合性が設定してある場合、設定内容によって削除ができない場合があります。 連鎖削除が許可されていない場合などです。 以下のURLも参考にしてください。 http://www.accessclub.jp/actips/tips_30.htm ヘルプに書かれている内容がアップされています。

TeamTea
質問者

お礼

調べたところテーブルAとテーブルBに一対多リレーションシップが設定され両テーブルを基にしている選択クエリでした。 テーブルAにのみデータが入っている状態で上記選択クエリより削除しようとしていましたが、削除されませんでした。関連するレコードをテーブルBに入力し選択クエリより削除したところテーブルBのデータは削除されテーブルAのデータが残りました。 テーブルAのデータを削除したい為、テーブルAのみの選択クエリを別で作りフォームのレコードソースとし対応しようと思います。 ご回答ありがとうございました。

関連するQ&A

専門家に質問してみよう