0

次の CAMLQuery があります。

<Query>
 <Where>
  <Or>
    <Or>
      <Or>
        <Or>
          <Or>
             <Eq>
                <FieldRef Name='Title' />
                <Value Type='Text'>Titulo</Value>
             </Eq>
             <Geq>
                <FieldRef Name='Vencimento_x0020_Certid_x00e3_o_' />
                <Value Type='DateTime'>txtDataDeCNDTribMobil</Value>
             </Geq>
             <Leq>
                <FieldRef Name='Vencimento_x0020_Certid_x00e3_o_' />
                <Value Type='DateTime'>txtDataAteCNDTribMobil</Value>
             </Leq>
          </Or>
          <Geq>
             <FieldRef Name='Vencimento_x0020_CND_x002f_INSS' />
             <Value Type='DateTime'>txtDataDeCNDINSS</Value>
          </Geq>
           <Leq>
             <FieldRef Name='Vencimento_x0020_CND_x002f_INSS' />
             <Value Type='DateTime'>txtDataAteCNDINSS</Value>
          </Leq>
       </Or>
       <Geq>
          <FieldRef Name='Vencimento_x0020_CRF' />
          <Value Type='DateTime'>txtDataDeCRF</Value>
       </Geq>
       <Leq>
          <FieldRef Name='Vencimento_x0020_CRF' />
          <Value Type='DateTime'>txtDataAteCRF</Value>
       </Leq>
    </Or>
    <Geq>
       <FieldRef Name='Vencimento_x0020_CND_x0020_Tribu' />
       <Value Type='DateTime'>txtDataDeCNDTribFederais</Value>
    </Geq>
    <Leq>
       <FieldRef Name='Vencimento_x0020_CND_x0020_Tribu' />
       <Value Type='DateTime'>txtDataAteCNDTribFederais</Value>
    </Leq>
  </Or>
   <Geq>
      <FieldRef Name='Vencimento_x0020_Seguro_x0020_de' />
      <Value Type='DateTime'>txtDataDeSegurodeVida</Value>
   </Geq>
   <Leq>
      <FieldRef Name='Vencimento_x0020_Seguro_x0020_de' />
      <Value Type='DateTime'>txtDataAteSegurodeVida</Value>
  </Leq>
</Or>
 </Where>
   <OrderBy>
      <FieldRef Name='Title' />
   </OrderBy>
 </Query>

コードは基本的に次のとおりです。日付の複数の列を含むSharepoint 2013のリストを参照し、日付型の複数のフィールドを形成します。問題は、私が作成したフォームの間です。CAMLQuery は何も返しません。CAMLQueryが正しくないという1つの間違い。

複数の日付フィールドを持つ CAMLQuery を作成する方法を知っている人はいますか?

tks

4

2 に答える 2

0

実際に Title=Titulo をすべての Date フィルターと共に <Or> 条件として評価する場合は、以下が必要な CAML です。代わりに Title=Titulo を true にして、一連の <Or> フィルターを使用する場合は、質問にコメントするか更新してください。回答を更新します。

CAM:

<Query>
    <Where>
        <Or>
            <Or>
                <Eq>
                    <FieldRef Name='Title' />
                    <Value Type='Text'>Titulo</Value>
                </Eq>
                <Or>
                    <Or>
                        <Geq>
                            <FieldRef Name='Vencimento_x0020_Certid_x00e3_o_' />
                            <Value Type='DateTime'>txtDataDeCNDTribMobil</Value>
                        </Geq>
                        <Leq>
                            <FieldRef Name='Vencimento_x0020_Certid_x00e3_o_' />
                            <Value Type='DateTime'>txtDataAteCNDTribMobil</Value>
                        </Leq>
                    </Or>
                    <Or>
                        <Geq>
                            <FieldRef Name='Vencimento_x0020_CND_x002f_INSS' />
                            <Value Type='DateTime'>txtDataDeCNDINSS</Value>
                        </Geq>
                        <Leq>
                            <FieldRef Name='Vencimento_x0020_CND_x002f_INSS' />
                            <Value Type='DateTime'>txtDataAteCNDINSS</Value>
                        </Leq>
                    </Or>
                </Or>
            </Or>
            <Or>
                <Or>
                    <Or>
                        <Geq>
                            <FieldRef Name='Vencimento_x0020_CND_x002f_INSS' />
                            <Value Type='DateTime'>txtDataDeCNDINSS</Value>
                        </Geq>
                        <Leq>
                            <FieldRef Name='Vencimento_x0020_CND_x002f_INSS' />
                            <Value Type='DateTime'>txtDataAteCNDINSS</Value>
                        </Leq>
                    </Or>
                    <Or>
                        <Geq>
                            <FieldRef Name='Vencimento_x0020_CRF' />
                            <Value Type='DateTime'>txtDataDeCRF</Value>
                        </Geq>
                        <Leq>
                            <FieldRef Name='Vencimento_x0020_CRF' />
                            <Value Type='DateTime'>txtDataAteCRF</Value>
                        </Leq>
                    </Or>
                </Or>
                <Or>
                    <Or>
                        <Geq>
                            <FieldRef Name='Vencimento_x0020_CND_x0020_Tribu' />
                            <Value Type='DateTime'>txtDataDeCNDTribFederais</Value>
                        </Geq>
                        <Leq>
                            <FieldRef Name='Vencimento_x0020_CND_x0020_Tribu' />
                            <Value Type='DateTime'>txtDataAteCNDTribFederais</Value>
                        </Leq>
                    </Or>
                    <Or>
                        <Geq>
                            <FieldRef Name='Vencimento_x0020_Seguro_x0020_de' />
                            <Value Type='DateTime'>txtDataDeSegurodeVida</Value>
                        </Geq>
                        <Leq>
                            <FieldRef Name='Vencimento_x0020_Seguro_x0020_de' />
                            <Value Type='DateTime'>txtDataAteSegurodeVida</Value>
                        </Leq>
                    </Or>
                </Or>
            </Or>
        </Or>
    </Where>
    <OrderBy>
        <FieldRef Name='Title' />
    </OrderBy>
</Query>
于 2014-06-09T20:04:12.093 に答える