• ベストアンサー

ACCESSで実行時エラー3008

ACCESS2000でデータベースを作っています。ADOやDAOは使っていません。 フォームにあるテーブルのデータシートを表示していて、そのフォームのボタ ンクリックイベントでダイアログ形式で別のフォームを表紙し任意の主キーを 取得して、DoCmd.RunSqlで表示しているテーブルに対してUPDATEを投げたいの ですが、 "実行時エラー3008 ・・・排他的に開いているか、ユーザーインターフェイス を介しているので、操作する事はできません。"というエラーがでます。 どうすればクエリが実行できますでしょうか? [ツール]-[オプション]-[詳細]の"既定の開くモード"は"共有モード"に、"既定 のレコードロック"は"ロックしない"にしています。

質問者が選んだベストアンサー

  • ベストアンサー
  • pastasp
  • ベストアンサー率33% (26/77)
回答No.1

そもそも、更新対象であるテーブル(若しくはクエリ)をフォームで開いたままで 更新するってコトが出来ないコト自体は当たり前のように思いますが‥。 排他でテーブルを捉まえてるのは、他ならぬそのフォームなのかな、と。 そのフォームは更新時にだけ一旦閉じるコトは、不可能なのですか? 若し、フォームを閉じずに当該テーブル更新を実行したいのでしたら、 フォームで使うテーブル(orクエリ)を「スナップショット」で開いてから 更新を実行してみて下さい。

関連するQ&A