Partager via


Filtrage d'éléments à l'aide d'une comparaison contenant une propriété de type keywords

L'exposé suivant prend pour exemple la propriété Categories, mais il vaut également pour n'importe quelle propriété de type chaîne à valeurs multiples.

La propriété Categories d’un élément est de type keywords, ce qui signifie qu’elle peut contenir plusieurs valeurs. Lorsqu’elle est comparée à une chaîne de comparaison dans un filtre, la propriété Categories se comporte comme une chaîne de texte dont les valeurs sont séparées par une virgule et un espace. Ceci est vrai pour les filtres utilisant la syntaxe Microsoft Jet ou la syntaxe DASL (DAV Searching and Locating).

Requêtes Jet

Dans une requête Jet, vous ne pouvez effectuer une mise en correspondance de phrases que sur une propriété de type keywords. Vous ne pouvez pas effectuer de mise en correspondance de sous-chaîne ou « starts-with » avec une requête Jet. Tenez compte des critères suivants pour Table.Restrict :

string filter  = "[Categories] = 'Partner'"

Cette requête Jet retourne les lignes des éléments où la propriété Categories de l’élément trouve une correspondance de phrase pour Partner. Elle retourne les lignes pour les éléments catégorisés comme Partner, pour les éléments catégorisés comme Partner et Important et pour les éléments catégorisés comme Tier1 Partner. Elle ne retourne pas les lignes pour les éléments catégorisés uniquement comme Partnership.

Requêtes DASL

Pour éluder les limitations liées à l’utilisation de mots clés avec la syntaxe de requête Jet, utilisez la syntaxe DASL qui permet l’emploi de restrictions de sous-chaîne ou starts-with. La chaîne de critères suivante recherche tous les éléments qui contiennent Partner en tant que catégorie, comme l’un des mots d’une catégorie et comme partie de début d’un mot dans la catégorie, comme la catégorie Partenariat :

criteria = "@SQL=" & Chr(34) _ 
& "urn:schemas-microsoft-com:office:office#Keywords" _ 
& Chr(34) & " ci_startswith 'Partner'"

Vous pouvez également utiliser une requête DASL pour la concordance d’équivalence dans une propriété de chaîne à plusieurs valeurs. Prenez un exemple dans lequel les éléments ont une ou plusieurs des quatre catégories suivantes :

  • Livre

  • My Book

  • Book Review

  • Bookish

La requête d’équivalence DASL :

criteria = "@SQL=" & Chr(34) _ 
& "urn:schemas-microsoft-com:office:office#Keywords" & Chr(34) _ 
& " = 'Book'"

retourne tout élément ayant Book comme catégorie, y compris celles ayant plusieurs catégories où Book est l’une des catégories. La requête ne retourne pas les éléments qui n’ont pas Book comme catégorie.

Si la propriété à valeurs multiples est ajoutée à table à l’aide d’une référence par espace de noms, le format des valeurs de la propriété est un tableau de variantes. Pour accéder à ces valeurs, analysez les éléments présents dans le tableau. Dans le cas de l’exemple précédent, cela vous permettrait également d’obtenir les éléments dont le nom de catégorie contient le terme exact Partner.

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.