1

CAML クエリは初めてですが、Status = Completed と日付範囲に基づいてリストをクエリしようとしています。

「予期しないエラー: 1 つ以上のフィールド タイプが正しくインストールされていません。リスト設定ページに移動して、これらのフィールドを削除してください。Microsoft.SharePoint」というエラーがスローされます。

Status と Created はどちらもシステム列なので、フィールド名が正しいことは確かです。日付範囲を指定せずにクエリをテストしたところ、期待どおりに実行されたので、私の問題は と の間のどこかにあると思います。私が読んだことから、Createdは日付に従う時間を期待しています。クエリは以下のとおりです。どんな助けでも大歓迎です。

<Where>   
<And>                               
   <And>    
      <Eq><FieldRef Name="Status" />Value Type="Choice">Completed</Value></Eq> 
   </And>          
      <Geq>         
         <FieldRef Name="Created" /><Value IncludeTimeValue="TRUE"    
Type="DateTime">2013-07-02T00:00:01Z</Value>
  </Geq>
       <Leq>              
          <FieldRef Name="Created" /><Value IncludeTimeValue="TRUE" 
Type="DateTime">2013-07-02T23:59:59Z</Value>
       </Leq>
</And> 
</Where>
4

1 に答える 1

1

上記のクエリにいくつかの基本的な構文エラーがあるため、問題が発生している可能性があります。これが役立つかどうかを確認してください。

  • 最初のタグに左山かっこがありませんでした。
  • タグが多すぎて、順序が正しくありません。
  • 最初のタグの Type 属性を Text に変更しました。

    <Where>   
    <And>    
        <Eq><FieldRef Name="Status" /><Value Type="Text">Completed</Value></Eq> 
        <And>          
            <Geq>         
                <FieldRef Name="Created" /><Value IncludeTimeValue="TRUE" Type="DateTime">2013-07-02T00:00:01Z</Value>
            </Geq>
            <Leq>              
                <FieldRef Name="Created" /><Value IncludeTimeValue="TRUE" Type="DateTime">2013-07-02T23:59:59Z</Value>
            </Leq>
        </And>
    </And> 
    </Where>
    
于 2013-08-14T23:32:52.437 に答える