J'ai une liste de points de partage qui a plusieurs champs. Il semble que lorsqu'un champ est laissé vide sur l'un des enregistrements - cet attribut est manquant sur le champ lorsque j'interroge la liste en utilisant une requête CAML.CAML Requête trouver des enregistrements où le paramètre n'existe pas?
Est-il possible d'écrire une requête pour retourner les enregistrements qui ne contiennent pas cet attribut?
Exemple:
id Employee Title description
-------------------------
1 Jeff Person1
2 Bob Person2
3 Charles Person3
4 Person4
5 Person5
Est-il possible d'interroger ce seulement renvoyer les enregistrements avec identifiant 4 et 5 parce qu'ils ont laissé le champ Nom vide?
J'ai essayé les éléments suivants:
System.Text.StringBuilder xmlQuery = new StringBuilder();
xmlQuery.Append("<Query>");
xmlQuery.Append(" <Where>");
xmlQuery.Append(" <IsNull>");
xmlQuery.Append(" <FieldRef Name=\"Employee Title\" />");
xmlQuery.Append(" </IsNull>"); xmlQuery.Append(" </Where>");
xmlQuery.Append("</Query>"); XmlNode query = new XmlDocument();
query.InnerXml = xmlQuery.ToString();
Mais bien sûr, l'attribut n'existe pas dans ces dossiers, donc rien est retourné
Merci à l'avance!
Modifier
La requête fonctionne après le remplacement des espaces dans le Name
avec x0020
xmlQuery.Append(" <FieldRef Name=\"Employee_x0020_Title\" />");
Merci pour avoir affirmé que c'est possible! J'ai trouvé mon erreur, je suppose que j'aurais dû posté mon code réel plutôt qu'un échantillon. L'échantillon a fonctionné comme mon code n'a pas fonctionné. Si je pouvais voter, je le ferais. Merci! – Khan
Capable de upvote maintenant, alors je l'ai fait. :) – Khan