• ベストアンサー

アクションクエリのテーブルのデーター削除を実行

 Win XP Office 2003 です、Access 2003ついて質問致します。  アクションクエリのテーブルのデーター削除を実行した後、(仮に、削除データーを2件、実行後のクエリ名を「削除後」と言う 名前にします。)再度このクエリを開こうとすると、「削除を実行すると、テーブルのデーターが変更されます。・・・・・」との ダイヤログが表示され、「はい」、「いいえ」を選択する画面となります。  しかし、表示されたダイヤログで「はい」をクリックしても、更に2件のデーターの削除が実行されるわけではなく、「0件のレコ ードが該当します・・・・」と表示され、実際にはそれ以上の削除は実行されません。  また、「いいえ」を選択するとこのダイヤログはそのまま消えてしまいます。  これって、何のためのダイヤログの表示って感じですが、一体このダイヤログは何のためにあるのでしょうか。  また、別の意味のある使い方ってあるのでしょうか。  誰かご存知の方是非この使い方を教えてください、よろしくお願いします。

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.3

> 削除を実行後のクエリを保存して、再度そのクエリを開くだけで、レコード削除の再実行はしないわけですから、ダイヤログを出す 意味がないと思うのですが。 結果から見ればそうだと思います。 作った当事者ではないので何とも言えませんが、「手順を踏む」を主とすれば結果がどうであれ考えられる動作だと思います。 > 削除を実行後のクエリを保存して、再度そのクエリを開くだけで、・・・ 実行する時に判断できているようですので、再度実行しないようにしてみてはいかがですか。

htgo
質問者

お礼

有り難う御座いました。

その他の回答 (2)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

これは、考え方の問題だと思います。 クエリを実行した時、クエリの内容から、先頭に「DELETE」があったら、 ひとまずダイヤログを出す。 ダイヤログの内容としては、DELETE以降に書いてあるもので、抽出した対象の件数を書く様になっていれば特に違和感はありません。 (その結果が0件であっても) で、このダイヤログを出さない方法もあります。 マクロであれば、「メッセージの設定」で「いいえ」 VBAであれば、DoCmd.SetWarnings False でこの類のメッセージは抑止できます。

htgo
質問者

お礼

>クエリを実行した時、クエリの内容から、先頭に「DELETE」があったら、ひとまずダイヤログを出す。 削除を実行後のクエリを保存して、再度そのクエリを開くだけで、レコード削除の再実行はしないわけですから、ダイヤログを出す 意味がないと思うのですが。(仮に出したとしても、その結果は当然0件にしかならないわけですから)

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.1

はじめまして 失礼ですが、まずは削除クエリの、削除対象のレコードが正しく抽出されているかを確認してみてください。 該当の削除クエリをコピーして、選択クエリに変更し、開いたときに削除対象となる2つのレコードが正しく表示されるかを確認してみてください。

htgo
質問者

お礼

>削除クエリの、削除対象のレコードが正しく抽出されているかを確認してみてください。 正しく削除されています。 >該当の削除クエリをコピーして、選択クエリに変更し、開いたときに削除対象となる2つのレコードが正しく表示されるかを確認してみてください 削除後のクエリなので、削除対象となった2つのレコードは表示されないのではないですか?