こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Access97の削除クエリーについて

初歩的なことで もうしわけありません。チンプンカンプンです。
身の回りにある本で、削除クエリーすら捜すことが出来ませんでした。
教えてください。 宜しくお願いします。

Aテーブルから 以下の条件のレコードを削除したいです!!
※条件※
(Aテーブル.名前 = Bテーブル.名前 ) かつ、(Aテーブル.内訳 = NULL)

レイアウト
Aテーブル:
処理日付 → テキスト 8文字
名前 → テキスト 5文字
内訳 → テキスト 8文字
金額 → 通貨型 (テーブル数 60) などなど・・・

Bテーブル:
名前 → テキスト 5文字
で、こんな感じで 記述しました。

DELETE Aテーブル.内訳, Aテーブル.* FROM W_MB INNER JOIN Bテーブル ON
Aテーブル.名前 = Bテーブル.名前 WHERE (((Aテーブル.内訳) Is Null));

すると こんなメッセージが→『更新可能なクエリーでなければなりません。』
な・なぜなのでしょう・・・

投稿日時 - 2001-07-11 09:26:15

QNo.102567

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

imo

これは選択クエリーにして実行した時に更新(追加)可能なクエリーとして
データを抽出できますか?できないのならば結合の方法がおかしいのではないでしょうか?
名前で結合しているようですが Bテーブルの名前は主キーになっていないと
更新(追加)可能なクエリーにはならないとおもいます。


DELETE Aテーブル.*, Aテーブル.名前, Aテーブル.内訳
FROM Aテーブル INNER JOIN Bテーブル ON Aテーブル.名前 = Bテーブル.名前
WHERE (((Aテーブル.名前)=[Bテーブル]![名前]) AND ((Aテーブル.内訳) Is Null));

困ったときはF1キーを押してヘルプを参照してみてください。

投稿日時 - 2001-07-11 10:18:13

お礼

ありがとうございます。
『主キー』の設定をしたら、バッチリ解決しました!!
HELPですよね・・・ あれを読んでもまだ理解できなくて・・・
HELPを使う HELPが欲しいくらいです。
とにかく ありがとうございました!!

投稿日時 - 2001-07-11 10:45:12

あなたにオススメの質問