指定された URL を持つ CAML クエリ アイテム
-
03-07-2019 - |
質問
SP2007/MOSS では、次のように単一のリストに対して CAML クエリを実行する必要があります。
<Where>
<Or>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item1.aspx</Value>
</Eq>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item4.aspx</Value>
</Eq>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item7.aspx</Value>
</Eq>
</Or>
</Where>
これの実際的な結果は、URL を持っている項目の SPListItemCollection を取得することになります。
ただし、「1 つ以上のフィールド タイプが正しくインストールされていません。」というエラーが表示されます。これらのフィールドを削除するには、リスト設定ページに移動してください。
リスト内のすべての項目は同じコンテンツ タイプです。SP ログ内の唯一の関連エラーには、同じメッセージが表示されます。
答えはこの特定の問題を解決しませんでしたが、最終的には正しいものになりました (Or はネストする必要があります)。問題は、フィールドの値のタイプが FileRef である必要があることでした。
解決
このエラーは、ほとんどの場合、CAML クエリが間違っていることが原因で発生します。次のようにフォーマットしてみましたか?
<Where>
<Or>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item1.aspx</Value>
</Eq>
<Or>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item4.aspx</Value>
</Eq>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item7.aspx</Value>
</Eq>
</Or>
</Or>
</Where>
Or または And 分岐には 2 つのコンポーネントしか含めることができないと確信しています。
所属していません StackOverflow