-2

VB 2010 を使用して作成したアプリケーション用に、Microsoft Access を使用してデータベース ファイルを作成しました。別のコンピューターにインストールすると、ファイルの保存に関連する次のエラーが表示されます。

予期せぬ事態がアプリで発生しました。[続行] をクリックすると、アプリケーションはこのエラーを無視して続行を試みます。[Quit] をクリックすると、アプリケーションはすぐに閉じます。

操作は更新可能なクエリを使用する必要があります。

エラー メッセージの詳細:

System.Data.OleDb.OleDbException (0x80004005): 操作では更新可能なクエリを使用する必要があります。

データベースに保存してこのエラーを防ぐ方法を誰か説明できますか?

4

1 に答える 1

0

この Web サイトには、Access クエリが更新できない理由がよくまとめられています。あなたの特定の状況について詳しく知ることができないので、私にできる最善の方法は、ここにあるアドバイスをコピーすることです. 私の最初の推測では、機能しないデータベースが読み取り専用モードで開かれているか、ファイルに読み取り専用フラグが設定されているか、ユーザーの権限が不十分であると考えられます。

最初のステップは、クエリが更新できない理由を突き止めることです。次のクエリは更新できません。

  • GROUP BY 句を含むクエリ。
  • TRANSFORM 句を含むすべてのクエリ。
  • SELECT 句で集計関数 (SUM()、MAX()、COUNT() など) を使用するクエリ。
  • DISTINCT 述語を含むすべてのクエリ。
  • UNION 演算子を含むすべてのクエリ。
  • SELECT 句にサブクエリを含むすべてのクエリ。
  • 任意の SQL パススルー クエリ。
  • 多対 1 対多の関係がある 3 つ以上のテーブルに基づく任意のクエリ。
  • 読み取り専用クエリに基づく任意のクエリ。

更新可能であるべきクエリがそうでない場合があります。通常、クエリの外にある何かが影響します。

  • 基になるテーブルが読み取り専用である可能性があります。または、データベースが読み取り専用モードで開かれています。
  • ユーザーには、基になるデータを更新する権限が必要です。
  • レコードが一時的にロックされている可能性があります。あとでもう一度試してみてください。
于 2013-05-05T11:34:13.810 に答える