• ベストアンサー

アクセス削除クエリ「複雑すぎてできません」のエラー

テーブルA(フィールド40個)があります。 削除クエリで、From *Aテーブル(すべて) フィールド30個 について Where  0 (数字ゼロ) の条件を入れます。 これを実行すると「クエリが複雑すぎてできません」が でてきます。 フィールド30個についてすべて0のレコードを削除したいのです。 どういう条件を入れればいいでしょうか?

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

こちらで、とりあえずフィールド31個のテーブルを作成し、30フィールドに「0」のWhere条件を指定した削除クエリを実行してみましたが、問題なく削除されました。 ですので、とりあえず、今あるテーブル(データを含む)とクエリを新規mdbファイルにコピーした上で、Where条件を指定するフィールドを10個にしたクエリを3つ作り(→1つ目のクエリでフィールド1~10個目、2つ目はフィールド11~20個目、3つ目はフィールド21~30個目、というように)、この3つのクエリをそれぞれ実行してみて下さい。 (但し、実際には「○件のレコードが削除されます」のメッセージが出たら「いいえ」を選択して削除を回避) これで同じエラーが出るクエリがあったら、そのクエリで指定している条件に間違いがあると推測できます。 その場合は、そのクエリをデザインビューで開き、メニューで「表示(V)」→「SQLビュー(Q)」をクリックしてSQL文を表示させ、それをここに貼り付けて、どこが間違っているかを聞かれるのがよいと思います。 (もちろん、わかる範囲でしたら私もお答えします) それと、全てで数字の0を指定されているとのことですが、テーブルでの各フィールドのデータ型の設定は数値型になっているのでしょうか?(テキスト型の場合、条件式には「0」ではなく「"0"」と指定) (もっともここが違う場合は、「データ型が違います」という今回の質問とは違うエラーメッセージになるはずとは思いますが)

mutuaikun
質問者

補足

早速のご回答ありがとうございましたm_ _m 会社のパソコンで行っているので、月曜日やってみます。

関連するQ&A

専門家に質問してみよう