- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access 削除時にレコード有無チェックは必要?)
Access削除時のレコード有無チェックの必要性について
このQ&Aのポイント
- Access2010での削除処理時に、他のテーブルに該当レコードが存在するかをチェックする必要性について検討しています。
- メインのテーブルである社員テーブルには全社員が登録されているため、削除クエリを実行する前に存在チェックを行っています。
- しかし、該当レコードがなければ削除されないため、レコードの有無に関係なく削除クエリを実行してもよいのではないかと疑問に思っています。一般的には無条件に削除クエリを実行することが多いのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どちらでもいいと思います。 この辺はプログラマーの好みですので。 私なら、チェック無しで削除クエリを実行するかな。 レコード存在チェック、削除クエリ実行と2度テーブルにアクセスするのが無駄に思いますので。 さらに言えば、リレーションシップを設定して、連鎖削除をオンにしておけば、一側のテーブル(マスターテーブル)のレコードを削除するだけで、関連付けされたすべてのテーブル内の関連レコードが自動で削除されますので、その機能を利用しますね。
その他の回答 (1)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
回答No.2
Q、削除時にレコード有無チェックは必要? A、不要です。
質問者
補足
f_a_007様 ご回答ありがとうございます。 やっぱり不要なのですね。 了解です。ありがとうございました。
補足
hatena1989さま いつもご回答ありがとうございます。 ちなみに、社員番号をキーにFindFirstする前に当該テーブルが EOFか否かのチェックもしてました。 「1レコードも存在しないのに削除クエリを実行する意味が 無い」ということでチェックしてたかと思うのですが、 このチェックも不要ですよね。 ※1レコードも存在しないのに、削除クエリ実行してエラーに ならない?ってことを懸念。 仰る通りリレーションシップの設定すれば、関連付けされた テーブル全て削除できるんですよね。。 そういう機能があるのは知ってるのですが、使ったことが無い ので、思ってもないレコードが削除されやしないか心配で 使ったことがありません。