【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みたいにピボットテーブルを使えますか? と質問を頂いた。
-
【Outlook】PDFの添付ファイル付のメール送信でフリーズ。
OutlookでPDFファイルを添付して、メール送信するとOutlookがフリーズし、Outlook
-
【Excel】グラフ(オブジェクト)の名前変更方法
Excel2013でのお話。 とりあえず、僕が探したところ三つありました。 【1つ目】名前ボ
-
【Excel】「メモリまたはディスクの空き容量が~」のポップアップで開けない時の対処法
メモリまたはディスクの空き容量が不足しているため、ドキュメントを開いたり、保存したりできません。
-
【Outlook】プレビューウインドウ(閲覧ウインドウ)で表示したら、メール既読のオフ設定
前回、「Outlookの開封メッセージ送信を先送りにする方法」で、少し書きましたが、 私用のメ
-
【Access2007】ODBCの罠。Windows7のコントロールパネルから作成したODBCがない。
Windows7の64bitでSQL Server 2012接続用のODBCを作成し Access
-
【Outlook】保存フォルダ(archive.pst)が開けない。
急に「保存フォルダ」が開けなくなった。 Outlookのバージョンは、2007のSP3。
-
【Excel】複数のエクセル(ブック)のシートを一つのブックに結合するVBA
複数のエクセルのシートを一つのエクセルにまとめるVBAを作ってみた。 ソースコードは使い方の下
-
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得
前回は、テーブルのレコードをVBAで直接更新(Insert/update/delete) 今回
-
【Access】VBAを使わずにマクロでリンクテーブルの変更(変換)
以前にVBAを使ってリンクテーブルの変換をしましたが、 今回はVBAを使わずにマクロでリンクテーブ