【Access】「更新可能なクエリであることが必要です」のクエリのエラーポップアップ
Accessでクエリを作成し、実行すると
「更新可能なクエリであることが必要です。」
「指定されたテーブルから削除できませんでした。」
上記、どちらかのエラーポップアップが表示され、クエリが実行できない。
ポップアップが表示されたクエリは、更新(Update)クエリと削除(Delete)クエリだが、Access内の作業用テーブル(ローカルテーブル)を更新するだけなので、更新不可なわけはない。
クエリを使わずに、Access内の作業用テーブル(ローカルテーブル)を
データシートビュー開いて、データを直接、更新(Update)や行の削除(Delete)すると、更新できることから、Access内の作業用テーブル(ローカルテーブル)に更新権限があることがわかる。
1.エラーポップアップの原因
更新、削除クエリで、更新権限の無いテーブルを繋いで(Inner Join)、
Access内の更新権限の有る作業用テーブル(ローカルテーブル)の更新、削除はできない。
このエラーメッセージのめんどくさいところは、
更新権限の無いテーブルを使用して作成したクエリを使って、作業用テーブルの更新、削除もできない。
クエリとクエリを組み合わせて~なんてやってる複雑なクエリだと、解析するのが非常にめんどくさい。
2.回避策
更新権限の無いテーブルまたはクエリを繋いで(Inner Join)も、レコードの追加(Insert)または「テーブルの作成」は可能なので、使いたいクエリを「テーブルの作成」クエリで作業用テーブルに落とし、その作業テーブルを繋いで(Inner Join)、更新、削除を行う。
Adsense
関連記事
-
-
【Office】Access2007のピボットテーブルとExcel連携
仕事でAccess2007でEXCELみたいにピボットテーブルを使えますか? と質問を頂いた。
-
-
【Excel】関数を一括でメモ帳などにコピーする方法
セルに入力されている関数一つのみコピーしたい場合、対象セルを選択して、数式バーか
-
-
【SQL Server】Excel VBAでSQLを実行し、レコードを更新(追加、更新、削除)する
VBAでSQL Serverのテーブルに SQL(Insert、Update、Delete)を発行
-
-
【Access】リンクテーブルが接続(表示)できない。
Accessを使用していて、リンクテーブルが表示(接続)できない。 あまりないけど、困った時に
-
-
【Outlook】Gmailを使う時の設定(Gmailアカウント側)
OutlookでGmailを使用するには、Gmailのアカウント側でいくつか設定をしなければいけない
-
-
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得
前回は、テーブルのレコードをVBAで直接更新(Insert/update/delete) 今回
-
-
【Outlook】文字化けを直す方法
メールをチェックしているとプレビューウインドに文字化け表示。 メール(Outlook)
-
-
【Access2007】ODBCの罠。Windows7のコントロールパネルから作成したODBCがない。
Windows7の64bitでSQL Server 2012接続用のODBCを作成し Access
-
-
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新
前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し 前回はVBAから更新S
-
-
【Outlook】プレビューウインドウ(閲覧ウインドウ)で表示したら、メール既読のオフ設定
前回、「Outlookの開封メッセージ送信を先送りにする方法」で、少し書きましたが、 私用のメ




