アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
似たような問題をググッてみたのですが、イマイチ解決に繋がらず、
最終手段と質問させて頂きました。
現在、ACCESS2007で削除クエリを作成していますが、
題名のエラーが表示されてしまいます。

・テーブルAとBが存在します。
・テーブルBのレコードを削除したいです。
・削除条件は、テーブルAでSELECTした結果に対し、
 テーブルAとテーブルBで一致するものを削除します。
・A/B両テーブルともに主キーは設定されていません。
・また、リレーションも張っていません。
・データシートビューは想定したものが表示されます
・作成したSQLは以下のような感じです。
---------------------------------------------------
DELETE T2.*
FROM
T2,
(
SELECT *
FROM T1
WHERE
T1.Fld1 = "01"
AND T1.Fld2 = "002"
AND T1.Fld3 BETWEEN #2008/4/1# AND #2009/3/31#
AND (T1.Fld4 ="A" OR T1.Fld5 = "B")
) AS T1a
WHERE
T2.Fld1 = T1a.Fld1
AND T2.Fld2 = T1a.Fld2
AND T2.Fld3 = T1a.Fld3
---------------------------------------------------

以上、解決策を伝授頂けないでしょうか?
よろしくお願いします。

A 回答 (3件)

http://support.microsoft.com/kb/328828/ja
こちらの
・複数のテーブルやクエリを含むクエリで、そのテーブルやクエリが、クエリのデザイン ビューで結合線によって結合されていないと、データを更新できません。この問題を回避するには、データを更新できるようにテーブルを正しく結合します。

ということです。
    • good
    • 0
この回答へのお礼

なるほど、、、
主キーは無い、リレーションは無い、データは重複してる、
という嬉しい状態がやはり良くないんですね(苦笑

一番問題だったのは、データが重複しているのが
問題だったようです。試しにDISTINCTを取って
SQLを実行したら、やはりエラーが出ました。

データの中身をもう少し吟味してから作るべきでした、、、
というか、本当はそれ以前のDB設計や運用手順で
しっかりデータをが作られるようにするべきなんでしょうけど(汗



色々とありがとうございました m(_ _)m
そういえば、お礼ポイントって無くなったんですか?

お礼日時:2009/03/04 19:26

動作確認はしていませんが、これでいかがでしょうか?


DELETE DISTINCTROW T2.*
FROM T2 INNER JOIN
[SELECT *
FROM T1
WHERE
T1.Fld1 = "01"
AND T1.Fld2 = "002"
AND T1.Fld3 BETWEEN #2008/4/1# AND #2009/3/31#
AND (T1.Fld4 ="A" OR T1.Fld5 = "B")
]. AS T1a
ON (T2.Fld3 = T1a.Fld3) AND (T2.Fld1 = T1a.Fld1) AND (T2.Fld2 = T1a.Fld2);

この回答への補足

今気づきました。

JOINするテーブルをViewにしてるんですね、、、
前はそれをしていなかったからダメだったのか orz


という事でしょうか?

補足日時:2009/03/04 18:53
    • good
    • 1
この回答へのお礼

!!!!
ありがとうございます!できました!感動です!!

全体的な構文の(あくまで)イメージは変わらないのに、
何でACCESSだと実行されないのでしょう?
[]の使い方とか、そういう文法的な部分何でしょうか?

お礼日時:2009/03/04 18:31

こんちくは。



Accessユーザーじゃないので、簡単に参考にもならない参考程度に。。。

http://office.microsoft.com/ja-jp/access/HA10096 …

とりあえずこんなのがあったのでどうぞ。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

・・・既に試した後でした・・・

結果は上手く動かずでして・・・

お礼日時:2009/03/04 17:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A