none
Consulta a una lista

    Question

  • Buenos días, tengo un problema, estoy haciendo una query a una lista para extraer todos los registros con fecha de inicio en el dia de hoy, pero a pesar de haber probado varias conbonaciones sigo sin encontrar la solución, el resto funciona bien, solo falla la consulta.

    Tengo puesto esto:

    <Where><Geq><FieldRef Name='FechaInicio'/><Value Type='DateTime'>31-01-2011 9:4</Value></Geq></Where>

    Se que esta función cogería todos los de a partir del día de hoy (que no es lo que pretendo del todo, pero es la última que hice), también probe poniendo después la misma fecha (sin hora) pero entre las clausulas <Leq></Leq>

     

    ¿Alguna sugerencia o ayuda? Muchas gracias de antemano

    Monday, January 31, 2011 9:17 AM

Answers

  • Hola VWeb,

    CAML necesita que el formato de las fechas este en ISO8601, esto es

    <Value Type=”DateTime”>2011-01-31T10:00:00Z</Value>

    Hay un API del sistema que te permite obtener ese formato en concreto

    SPUtility.CreateISO8601DateTimeFromSystemDateTime(end)



    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin | MVP SharePoint Server
    Monday, January 31, 2011 9:52 PM

All replies

  • Hola VWeb,

    Entiendo que estás trabajando con SharePoint 2007...¿el formato de fecha que pones en la condición coincide con el que tienes definido a nivel de columna de la lista? Posiblemente el problema lo estás teniendo en esto.

    Saludos

    Monday, January 31, 2011 12:56 PM
  • Gracias por responder Juan Carlos. Estoy trabajando con Sharepoint 2010 y el tipo del campo 'FechaInicio' es DateTime, tengo un registro en esta lista cuyo valor en este campo es 31/01/2011 22:00

     

    Sin embargo la consulta que he puesto no funciona, vuelvo a poner la consulta:

    <Where><Geq><FieldRef Name='FechaInicio'/><Value Type='DateTime'>31/01/2011 14:54</Value></Geq></Where>
    Muchas gracias

     

    Monday, January 31, 2011 3:03 PM
  • Hola VWeb,

    Te recomendaría usar LINQ To SharePoint en lugar de CAML para facilitar depurar que está pasando con estas consultas.

    Un saludo!

    Monday, January 31, 2011 3:37 PM
  • Hola VWeb,

    CAML necesita que el formato de las fechas este en ISO8601, esto es

    <Value Type=”DateTime”>2011-01-31T10:00:00Z</Value>

    Hay un API del sistema que te permite obtener ese formato en concreto

    SPUtility.CreateISO8601DateTimeFromSystemDateTime(end)



    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin | MVP SharePoint Server
    Monday, January 31, 2011 9:52 PM