質問

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

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

Microsoft Access - Data cannot be inserted because there is no matching record.

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

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

2番目の項目には説明が必要になる場合があります。アクセスのリンクリストを単純に開くと、編集したいレコードまでスクロールして編集する場合は、機能します。そのビューを最初にフィルタリングした場合(たとえば、チェックボックスフィールドをチェックしたレコードのみを表示)、レコードを編集してエラーを取得することはできません。

これは、特定の環境でのみ発生します。他の人はどちらのアプローチでも正常に動作します。私は許可をチェックしました(リストを完全に制御できます。私はサイトコレクション管理者などです)。私はさまざまな方法でリストにリンクしようとしました:SharePointの「Access With Access With Access With Access」ボタンから、アクセス内から。アクセスDBファイルを削除して再作成しました...運はありません。

また、Googleにはこの特定のエラーの知識はありません。正確なエラーテキストの検索結果は0の結果を出します。

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

役に立ちましたか?

解決

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

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

適切なルックアップリストを開き、アクセスが値を取得していないことを見つけるためだけにわかりました。これは再び奇妙になりました。なぜなら、値はSharePointに存在し、ルックアップ関係はSharePointで同じレコードを編集するために無傷だったからです。リストへの接続を更新または修正することを強制することができませんでした。

Lookup SharePointリストを削除して再作成することになりました。これにより、MSアクセスの問題が解決されました。

他のヒント

私は同じ症状を経験しました - つまり、MS Access 2010の特定のSharePointリストの更新クエリはこのエラーで失敗しましたが、私の修正は異なっていました。ただし、上記の解決策は私を正しい方向に見させました。

私の場合、リストにユーザー定義のルックアップフィールドはありませんでした。ただし、リストにリンクすると、Linked Tableが作成されたときにアクセス内で作成されるuserInfoと呼ばれる暗黙のルックアップテーブルがあります。このuserInfoテーブルを調べたとき、それには単一のレコードのみが含まれていたため、数十が含まれているはずです。

私の修正は、アクセスでこのテーブルを右クリックすることでした、より多くのオプション...、リンクリスト...

私は既存のSharePointサイトに入り、まるでそれらが新しいサイトであるかのようにリストします。 UserInfoテーブルには、適切な数のレコード数が含まれており、更新時のエラーが停止しました。

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

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

しかし、以前の答えは私を正しい道に沿って導いたので、ありがとう!

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

私の問題は、ユーザーの広告名を私がアプリしているフィールドの1つとして含めているということでした - SharePointリストフィールドは「個人またはグループ」コラムです。 SharePointは、uidがuse onfoテーブルを使用してユーザー名に渡すuidを翻訳しようとしています。しかし、私は譲受人が未定のレコードを追加しようとしているので、フィールドは空白のままになります。私のアクセスルーチンはデフォルトでゼロになり、それを入力しようとしました。その後、SharePointの内部ルックアップは、レコード#0のADに誰もいないため、ユーザー名が失敗しました。多くの成功したテストの後、これは私に少し私を噛みました - 突然、もう何もうまくいきませんでした。もちろん、後知恵では、別のテストデータレコードのセットを追加しようとしたからです。

私にも同じ問題が発生しました。 15時間の試行錯誤の後、私はそれを修正しました。

列の1つが別の「親」リストのルックアップ列であるリストがありました。どういうわけか、そのルックアップ列には「親」リストにない値がありました。

Accessが非Lookupフィールドを更新しようとしたとき、独自の完全性チェックを実行し、私のルックアップの値が親リストにないこととエラーが発生していないことに気付きました。

お役に立てれば

私の場合、私は、このエラーを投げた添付のリストを再リンクまたは更新することに違いをもたらさないことがわかりました。ただし、最初にSharePointリストに添付されたとき、データベースに追加リストが自動的にリンクされました。そのセカンダリリスト>その他のオプション> [更新リスト]をクリックすることにより、プライマリ添付リストにエラーメッセージが表示されなくなりました。

このエラーは、同じプライマリリストで随時発生しますが、今ではそれを回避する方法がわかっています。

添付リストの詳細については、こちらをご覧ください。 http://office.microsoft.com/en-us/access-help/import-from-orlink-to-a-sharepoint-list-ha001230313.aspx

これは、更新しているリストの値が無効な値を持っている場合に発生すると思います。たとえば、リスト項目が必要なフィールドに値がない場合、またはリスト項目が指定された基準を持つフィールドに違法値を持っている場合、更新中に「無効な状態」の最初のリスト項目にヒットすると、このエラーが発生します。

「これは、更新しているリストの値が無効な値を持っている場合に発生すると思います。たとえば、リスト項目に必要なフィールドに値がない場合、またはリスト項目が指定された基準を持つフィールドに違法値を持っている場合、あなたは取得します更新中に「無効な状態」で最初のリスト項目にヒットしたときのこのエラー。」

男が書いたものが私のために機能したことを確認できます。私が更新していたリスト内のすべてのフィールドを検索し、データが有効であることを確認する必要がありました。ブランクを検索し、空白として出てきたがまだデータがあるものを修正することでこれを行いました。

さらに別のシナリオでこのエラーが見つかりました。これは、Prem and Access 2013でSP 2013を使用して観察されます。

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

他のポスターと同様に、私のリストにはルックアップ列と人の列があり、両方のシナリオで、アクセスがそれらの列のサポートテーブルを自動的に追加するように見えました。 「アクセスで開く」ボタンを使用すると、そのテーブルのみが「正しく「」サポートテーブルにリンクされているようです。シナリオ2では、すべてが正しくリンクされているようです。 2つのデータベースを検査する際に、違うものを見つけることができませんでした。しかし、経験的には、シナリオが成功し、シナリオが失敗した場合に成功しました。

同様の問題があり、SharePointへのアクセスからエクスポートしたばかりのSharePointリスト(List1)にリンクしました。 List1にリンクしたとき、「userinfo」がリンクリストとして追加されたこともわかりました。 UserInfoリンクは不要であると信じていることを削除しましたが、AppendクエリでList1を更新しようとするときに検証エラーを生成したことがわかりました。 userInfoへのリンクを復元すると、これらのエラーが修正されました。おそらく、sharepointによってlist1に追加された「作成」および「変更」列には、userInfoを検索する必要があります。上記の答えは私を正しい方向に向けたので、ありがとう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top