5

Microsoft Access 2010 経由でリンクしている SharePoint 2010 リストを更新しようとすると、奇妙なエラーが発生しました。

エラー: 一致するレコードがないため、データを挿入できません。

Microsoft Access - 一致するレコードがないため、データを挿入できません。

これは、次の 2 つのシナリオで発生します。

  1. MS Access のリストに対して UPDATE クエリを実行しようとしています
  2. リスト ビューがフィルター処理されている場合、リストからレコードを更新しようとしています

2 番目の項目については、説明が必要な場合があります。Access でリンクされたリストを開き、編集したいレコードまで下にスクロールして編集すると、機能します。最初にそのビューをフィルタリングすると (たとえば、チェックボックス フィールドがオンになっているレコードのみを表示するなど)、レコードを編集できず、エラーが発生します。

これは、特定の 1 つの環境でのみ発生します。他の人はどちらのアプローチでもうまくいきます。アクセス許可を確認しました (リストを完全に制御できる、サイト コレクションの管理者であるなど)。Access 内から、SharePoint の [Access で開く] リボン ボタンから、さまざまな方法でリストへのリンクを試みました。Access DBファイルを削除して再作成しました...うまくいきません。

また、Google はこの特定のエラーを認識していません。正確なエラー テキストを検索しても結果は 0 件です。

何を確認すればよいですか?この SharePoint リストに対して SQL スタイルのクエリを実行することは、それを維持するための唯一の実行可能なオプションです。

4

11 に答える 11

1

問題を特定しました。SharePoint リストの「フィルター処理されていない」ビューでさらにいくつかのレコードを手動で編集していたときに、時折レコードが更新されず、同じエラーがスローされることがわかりました。

たまたま、更新されないレコードにルックアップ列である別の列セットがあることに気付きました (そうです、Remou )。しかし奇妙なことに、ルックアップ値ではなく ID 値が表示されていました。MS Access もすべての関連リストをリンクしていたため、これは意味がありませんでした。

適切なルックアップ リストを開いて、Access が値を取得していないことを確認しました。値が SharePoint に存在し、SharePoint で同じレコードを編集しても参照関係が損なわれていないため、これも奇妙でした。Access を強制的に更新したり、リストへの接続を修正したりすることはできませんでした。

結局、ルックアップ SharePoint リストを削除して再作成しました。これにより、MS Access の問題が解決されました。

于 2010-09-24T22:43:01.270 に答える
0

問題が発生し、上記の回答は役に立ちましたが、適切ではありませんでした。これが私にとってエラーの原因です:

私の問題は、追加するフィールドの 1 つとしてユーザーの広告名を含めていることでした。SharePoint リスト フィールドは「個人またはグループ」列です。Sharepoint は、Userinfo テーブルを使用して、渡した UID をユーザー名に変換しようとしています。ただし、担当者が未定のレコードを追加しようとしているため、フィールドは空白のままにします。私のアクセスルーチンはデフォルトでゼロに設定され、それを入力しようとしましたが、ユーザー名を取得するための SharePoint の内部ルックアップは、AD にレコード #0 を持つ人がいないため失敗していました。多くのテストが成功した後、これは私を苦しめました-突然、何も機能しなくなりました。もちろん、後から考えると、別のテスト データ レコードのセットを追加しようとしたためです。

于 2013-11-25T17:53:19.723 に答える
0

リンクされたテーブル (ルックアップを含む) を更新クエリに含めると、更新クエリが機能し始めることがわかりました。

于 2013-01-25T11:54:25.373 に答える
0

このエラーは、さらに別のシナリオで見つかりました。これは、オンプレミスの SP 2013 と Access 2013 を使用して確認されています。

SP UI のリスト ページから [Open with Access] ボタンを使用して Access データベースを作成し、(他のリストの) 追加テーブルをそのデータベースにリンクすると、それらの追加テーブルに対して更新クエリを実行できません。OPが示すエラーメッセージが表示されます。ただし、空の Access データベースから開始し、最初にデータベースを作成するときに使用するすべてのテーブル (リスト) をリンクすると、更新クエリはそれらすべてに対して機能します。

他のポスターと同様に、私のリストにはルックアップ列と人物列があり、どちらのシナリオでも、Access はそれらの列をサポートするテーブルを自動的に追加するように見えました。その「Open with Access」ボタンを使用すると、そのテーブルのみがサポートテーブルに「正しく」リンクされるようです。シナリオ 2 では、すべてが正しくリンクされているように見えます。2 つのデータベースを調べたところ、何が違うのかわかりませんでした。しかし、経験的に、シナリオ 2 は成功しましたが、シナリオ 1 は失敗しました。

于 2016-11-29T20:51:39.017 に答える
0

さらに別の修正があります。ルックアップ SharePoint リストは既に Access にリンクされていましたが、あるリストから別のリストにレコードを追加するときに使用しようとしていた別の値を入力し、その列にこの新しい値を挿入しました。最初にすべての再リンクなどを試しましたが、うまくいきませんでした。UserInfo テーブルをリンクしようとしましたが、それも役に立ちませんでした。Access 内からルックアップ リストを開く必要がありましたが、機能しました。(UserInfo テーブルも開きましたが、それが実際に機能したとは思いません。)

ただし、以前の回答は私を正しい道に導いてくれました。ありがとう!

于 2013-02-22T20:01:25.010 に答える