Kato Ryo Official Site

抽象度とエネルギーを上げる

【Access】更新クエリが実行できない!

 
この記事を書いている人 - WRITER -
Pocket

「更新可能なクエリであることが必要です。」
こういうエラーメッセージが出て、更新クエリが実行できないことがあり、ちょっと調べてみたことの覚書。

…と言っても1行で終わってしまうのだが、「集計クエリやサブクエリを含む選択クエリは、更新元のデータとして利用できない」らしい。Accessを数年使っていたが、知らなかった…。

もう少し具体的に書くと、例えば「Q」という選択クエリの結果を使って、テーブル「T」のあるフィールドを更新したい、という場合に、Qに集計クエリやサブクエリが含まれていてはいけない、ということだ。

では、どうすればいいのか?

選択クエリQの結果をそのまま(=選択クエリのまま)使おうとせずに、一度別のテーブルに吐き出して、それを利用すれば良い。要するに、Qを選択クエリではなく、テーブル作成クエリにし、Qを実行した結果作成されたテーブルを、データの更新元として使うということだ。

こうすれば、無事に目的通りの更新を行うことができるので、一件落着だ。

この記事を書いている人 - WRITER -

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright© 抽象度とエネルギーを上げる , 2017 All Rights Reserved.