【Access】「更新可能なクエリであることが必要です」のクエリのエラーポップアップ
Accessでクエリを作成し、実行すると
「更新可能なクエリであることが必要です。」
「指定されたテーブルから削除できませんでした。」
上記、どちらかのエラーポップアップが表示され、クエリが実行できない。
ポップアップが表示されたクエリは、更新(Update)クエリと削除(Delete)クエリだが、Access内の作業用テーブル(ローカルテーブル)を更新するだけなので、更新不可なわけはない。
クエリを使わずに、Access内の作業用テーブル(ローカルテーブル)を
データシートビュー開いて、データを直接、更新(Update)や行の削除(Delete)すると、更新できることから、Access内の作業用テーブル(ローカルテーブル)に更新権限があることがわかる。
1.エラーポップアップの原因
更新、削除クエリで、更新権限の無いテーブルを繋いで(Inner Join)、
Access内の更新権限の有る作業用テーブル(ローカルテーブル)の更新、削除はできない。
このエラーメッセージのめんどくさいところは、
更新権限の無いテーブルを使用して作成したクエリを使って、作業用テーブルの更新、削除もできない。
クエリとクエリを組み合わせて~なんてやってる複雑なクエリだと、解析するのが非常にめんどくさい。
2.回避策
更新権限の無いテーブルまたはクエリを繋いで(Inner Join)も、レコードの追加(Insert)または「テーブルの作成」は可能なので、使いたいクエリを「テーブルの作成」クエリで作業用テーブルに落とし、その作業テーブルを繋いで(Inner Join)、更新、削除を行う。
Adsense
関連記事
-
-
【Access】エラーポップアップ。「少数を丸めたために、データが切り捨てられました。」
Accessのリンクテーブルでデータを確認していたら、急に・・・ 「少数を丸めたために
-
-
【SQL Server】Excel VBAでSQLを実行し、レコードを更新(追加、更新、削除)する
VBAでSQL Serverのテーブルに SQL(Insert、Update、Delete)を発行
-
-
【Access2007】ODBCを使ってSQL Server 2012に接続
Windows7のAccess2007をデータソース(ODBC)を使って、SQL Server 20
-
-
【Access】リンクテーブルの一括変換。ODBCを使わずにSQL Serverへ接続
Accessのリンクテーブルの接続先を一括で変更する方法 この方法なら、ODBCを使用していな
-
-
【Outlook】送信時の0x80040201エラーの対処
発生した環境 OSはWindows7。Outlookは2013。イーモバイルのPocket W
-
-
【Access】循環参照エラーの回避方法
Accessでクエリを実行しようとすると クエリ定義の SELECT で指定されている別名
-
-
【Excel】VBAでセルの書き込みを5倍高速化する方法
Excel VBAで While文やFOR文を使用してループさせ、行、列をカウントアップして、 大
-
-
【Access2007】ODBCの罠。Windows7のコントロールパネルから作成したODBCがない。
Windows7の64bitでSQL Server 2012接続用のODBCを作成し Access
-
-
【Outlook】PDFの添付ファイル付のメール送信でフリーズ。
OutlookでPDFファイルを添付して、メール送信するとOutlookがフリーズし、Outlook
-
-
【Office】Access2007のピボットテーブルとExcel連携
仕事でAccess2007でEXCELみたいにピボットテーブルを使えますか? と質問を頂いた。