2009-06-19 10 views
2

Je voudrais avoir une requête CAML pour obtenir les événements d'une liste de calendrier.CAML Query

Je veux avoir tous les événements dont Aujourd'hui dans les 30 prochains jours.

Jusqu'à présent, j'ai:

<Where> 
    <DateRangesOverlap> 
    <Geq> 
     <FieldRef Name=\"EventDate\" /> 
     <Value Type=\"DateTime\"> 
     <Today /> 
     </Value> 
    </Geq> 
    <FieldRef Name=\"EndDate\" /> 
    <FieldRef Name=\"RecurrenceID\" /> 
    <Value Type=\"DateTime\"> 
     <Month /> 
    </Value> 
    </DateRangesOverlap> 
</Where> 

Cela ne fonctionne pas :(Toutes les idées

+0

Quand vous dites que ça ne marche pas, comment ça ne marche pas? Aussi pouvez-vous coller dans le code où vous faites la requête? –

+0

Pour quelle version de SharePoint vous avez posté cette question. –

Répondre

1

La récurrence n'ajoute pas tous les événements dans la liste, mais le CAML ne peut interroger à partir "? les événements réels » stockés dans la liste.

3

Comme Nat a dit que vous faites allusion (mais ne spécifiez pas) que vous utilisez des événements récurrents dans votre liste de calendrier si je suppose que est la partie qui ne fonctionne pas

?

Vous devez définir la propriété SPQuery.ExpandRecurrances et SPQuery.CalendarDate avant d'exécuter la requête CAML et vous ne pouvez le faire qu'en utilisant le modèle objet, pas les services Web ou en définissant un attribut dans CAML. En outre - IIRC étendra uniquement les instances d'événements récurrents qui se produisent dans le même mois civil que .CalendarDate, vous devrez donc l'exécuter plusieurs fois pour obtenir une vue sur plusieurs mois.

C'est de loin la meilleure référence couvrant les événements récurrents que j'ai trouvés.

Bienvenue au cauchemar des événements récurrents dans SharePoint!