MS Access 2003: consulta para recuperar registros que contienen una clave almacenada en una tabla

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MS Access 2003: consulta para recuperar registros que contienen una clave almacenada en una tabla

Este tutorial de MSAccess muestra cómo configurar una consulta para recuperar registros que contienen palabras clave almacenadas en una tabla en Access 2003 (con capturas de pantalla e instrucciones paso a paso).

Ver soluciones en otras versiones de Access:

  • Visita 2007

P: En Microsoft Access 2003/XP/2000/97 estoy tratando de resolver un problema con comodines. Tengo una tabla con una lista de 200 palabras clave y otra tabla en la que quiero buscar usando esas palabras clave.

Necesito recuperar todos los registros de la segunda tabla que contengan una de estas claves en cualquier parte del campo, no solo “el campo completo”.

¿Cómo puedo hacer esto?

R: Demostraremos cómo hacer esto con el siguiente ejemplo.

En este ejemplo, tenemos una tabla llamada key_words que contiene una lista de más de 200 palabras clave en el campo clave y una tabla llamada Part_names que queremos buscar en cualquier parte del campo mencionado. Esto es equivalente a usar la condición LIKE de la siguiente manera:

Like '*keyword*'

Para ello, podemos crear la siguiente consulta:

El SQL para esta consulta es:

SELECT Part_names.nomenclature, key_words.keys
FROM key_words, Part_names
WHERE (((InStr([Part_names].[nomenclature],[key_words].[keys]))>0));

Esta consulta utiliza la función Instr para comprobar si el campo con nombre contiene una clave en alguna parte del valor. Si encuentra la clave en la nomenclatura, devolverá un valor mayor que 0.

Ejecutar la consulta anterior devolverá los siguientes registros: