Compartir a través de


Filtrar elementos utilizando una comparación con una propiedad Keywords

En la siguiente explicación se utiliza la propiedad Categories como ejemplo, pero se puede aplicar también a cualquier otra propiedad de varios valores.

La propiedad Categories de un elemento es del tipo Keywords, que puede contener varios valores. Al compararla con una cadena de comparación de un filtro, la propiedad Categories se comporta como una cadena de texto cuyos valores están separados por una coma y un espacio. Esto se cumple para todos los filtros que usen la sintaxis Microsoft Jet o DASL (DAV Searching and Locating).

Consultas Jet

En una consulta Jet, solamente puede hacer coincidir las frases en una propiedad de palabras clave. No puede realizar coincidencias de comienza-con ni subcadena con una consulta Jet. Considere los siguientes criterios para Table.Restrict:

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

Esta consulta Jet devolverá filas para elementos en los que la propiedad Categories para el elemento busque una coincidencia de frases para Partner. Devolverá filas para elementos que estén categorizados como Partner, para elementos que estén categorizados como Partner e Important y para elementos que estén categorizados como Tier1 Partner. No devolverá filas para elementos categorizados solamente como Partnership.

Consultas DASL

Para superar las limitaciones de las restricciones de palabras clave cuando se usa la sintaxis de consultas Jet, use la sintaxis DASL, que permite las restricciones de tipo comienza-con y subcadena. La siguiente cadena de criterio buscará todos los elementos que contengan Partner como una categoría, como una de las palabras de la categoría y como la porción inicial de una palabra de la categoría, como por ejemplo, Partnership:

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

También puede usar una consulta DASL para coincidencia de equivalencia en una propiedad de cadena de valor múltiple. Considere un ejemplo en el que los elementos tienen una o más de las siguientes cuatro categorías:

  • Book

  • My Book

  • Book Review

  • Bookish

La consulta de equivalencia DASL:

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

devuelve todos los elementos que tengan Book como categoría, incluso aquellos que poseen muchas categorías, dentro de las cuales se encuentra Book. La consulta no devuelve elementos que no tienen Libro como categoría.

Si la propiedad de varios valores se agrega a la tabla usando una referencia por espacio de nombres, el formato de los valores de la propiedad será una matriz Variant. Para obtener acceso a estos valores, analice los elementos de la matriz. Si usamos el ejemplo anterior, le permitiría, además, obtener los elementos que contienen Partner exactamente como categoría.

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.