Pregunta

¿Puede alguien ayudarme con esta consulta CAML? Cuando me tapa el atributo Ascending de TRUE a FALSE (también he intentado True y False), que no se vuelva-ordenar el conjunto de resultados.

El resto de la CAML es correcta, está siendo generado por una herramienta y están siendo devueltos los resultados apropiados.

<Where>
  <And>
    <And>
      <Eq>
        <FieldRef Name="Branch"/>
        <Value Type="Text">Camp 1</Value>
      </Eq>      
      <Eq>
        <FieldRef Name="Type"/>
        <Value Type="Choice">Day</Value>
      </Eq>
    </And>
    <Geq>
      <FieldRef Name="StartDateTime"/>
      <Value Type="DateTime">2009-01-05T00:00:00Z</Value>
    </Geq>
  </And>
  <OrderBy>
    <FieldRef Ascending="TRUE" Name="Title" />
  </OrderBy>
</Where>
¿Fue útil?

Solución

¿La OrdenarPor tiene que estar fuera de la cláusula where?

    <Where>
  <And>
    <And>
      <Eq>
        <FieldRef Name="Branch"/>
        <Value Type="Text">Camp 1</Value>
      </Eq>      
      <Eq>
        <FieldRef Name="Type"/>
        <Value Type="Choice">Day</Value>
      </Eq>
    </And>
    <Geq>
      <FieldRef Name="StartDateTime"/>
      <Value Type="DateTime">2009-01-05T00:00:00Z</Value>
    </Geq>
  </And>
  </Where>
<OrderBy>
    <FieldRef Ascending="TRUE" Name="Title" />
  </OrderBy>

http://msdn.microsoft.com/en-us/library /ms442728.aspx

Otros consejos

Estoy de acuerdo con la respuesta anterior, la debe estar fuera del . Tenga en cuenta también que cuando se comparan con los campos de fecha y hora, por lo general es una buena idea incluir el atributo IncludeTimeValue:

<Geq>
      <FieldRef Name="StartDateTime"/>
      <Value Type="DateTime" IncludeTimeValue="FALSE">2009-01-05T00:00:00Z</Value>
</Geq>

y ponerlo a falsa o verdadera, dependiendo de si desea incluir los valores de tiempo o no en la consulta.

Me pasé casi una semana entera tratando de obtener órdenes de fecha para trabajar de acuerdo al objeto de cliente OM CamlQuery. Finalmente me di cuenta de que tenía que ajustar

camlQuery.DatesInUtc = true;

Me parece que si está utilizando modelo de objetos nativo y el objeto SPQuery que SharePoint interpreta esa fecha como UTC por defecto (en nuestro medio) tan pronto como se mueve al objeto CamlQuery con el ClientOM es necesario configurar este parámetro .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top