次の方法で共有


"更新できません。 リンクされていない参照フィールドがある場合は、リンクされた SharePoint ビューに対するクエリでデータベースまたはオブジェクトが読み取り専用です

現象

次のような状況で問題が発生します。

  • Microsoft Access で作業しています。
  • リンクされた Microsoft SharePoint ビューに対して更新クエリを実行します。
  • 更新する基になるリストには、現在のビューに含まれていないため、Access にリンクされていない参照フィールドが含まれています。

このとき、次のエラー メッセージが表示されます。

データベースまたはオブジェクトは読み取り専用なので、更新できません。 (エラー 3027)

原因

この問題は、ImportSharePointList マクロ アクション (Access 2016 以前は TransferSharePointList) を使用して、Access の SharePoint リストのビューにリンクするときに発生します。 このマクロは、SharePoint ビューの参照列ごとに Access にリンク テーブルを作成します。 ただし、更新クエリを実行すると、まず、すべての参照列に基になるリストのデータベースにリンク テーブルがあることを確認します。 更新クエリでは、現在のクエリの一部である参照のみがチェックされません。

回避策

この問題を回避するには、次のいずれかの方法を使用します。

方法 1

基になるリスト内のすべての参照列をテーブルにリンクします。 これを行うには、次の手順を実行します。

  1. SharePoint リスト自体にリンクします。 これにより、基になるリストのすべての参照テーブルが Access 内に存在することを確認します。
  2. Access で SharePoint リストのリンク テーブルを削除します。 (参照列のリンク テーブルはそのままにします)。
  3. ImportSharePointList マクロ アクションを使用して SharePoint ビューにリンクします。

これらの手順を実行すると、Access には、SharePoint ビューのリンク テーブルと、ビューに含まれる参照列に対してのみではなく、基になるリスト内のすべての参照列のリンク テーブルが含まれます。

方法 2

Access 2010 でキャッシュを無効にします。 これを行うには、次の手順を実行します。

  1. [アクセス] で、[ファイルオプション] を選択します>。
  2. [ 現在のデータベース] を選択します
  3. [ Web サービスのキャッシュ ] 領域まで下にスクロールし、Microsoft SharePoint テーブルを見つけます。
  4. [ キャッシュなし ] チェック ボックスをオンにします。

詳細情報

Access で SharePoint リストを使用するときに発生する既知の問題の詳細については、「SharePoint リスト/ドキュメント ライブラリのキャッシュ形式にアクセスする」を参照してください。

TransferSharePointList マクロの詳細については、「 TransferSharePointList マクロ アクション」を参照してください。