En el componente de busqueda que usa el indice por palabras le puedes especificar si quieres que busque los registros que contengan todas las palabras o solo alguna de ellas con solo poner un 0 ó un 1.
Esta opción valdría si queires buscar la intersección de palabras, es decir: Todos los registros que en dicho campo tengan todas las palabras.
Sin embargo, creo que lo que pretende joserb2.yahoo es tener un campo en el que poner varias palabras y que busque cualquier registro que contenga cualquiera de esas palabras en un campo determinado, ¿No es así?
Si ponemos un 0 en "Todas las palabras" hace precisamente eso, busca cualquier registro que contenga cualquiera de las palabras escritas.
Ademas para poner los valores 0 ó 1 podemos usar una formula o una variable, con lo que podemos pasarle un parámetro a un proceso y que funcione de las dos formas.
Sí, es lo que comenta rzaragoza, pero lo que indica innovadb funciona, con 1 localiza las que tiene todas las palabras y 0 algunas.
Lo que me pasa ahora es que diferencia singulares y plurales, es decir, si "migrañas" y en el campo hay "migraña" no lo da como ok. Creo que además tendré problemas con casos como "colores", si busco "color". Necesitaría el comodín * o % ;-)
innovadb, Precisamente es lo que me puse a comprobar y efectivamente es la solución.
Tendré dos botones, uno para buscar todas las palabras, utilizando el índice por palabras y otro para buscar por algunas palabras para lo que se utiliza el índice por trozos.
Bueno, parece que está pero con matices, os explico:
El índice por trozos no tiene Lista Negra, corregirme si me equivoco, con lo que se me vuelve a presentar el problema de las preposiciones, etc., por lo que he vuelto a tirar de la función que hace ese trabajo y "limpia" la cadena a buscar.
El resto, más o menos lo indicado por innovadb salvo que no utilizo la cesta, si no que envío directamente a la rejilla donde muestro las coincidencias.
También he sacado el "Crear manejador" fuera del bucle, pues me imagino que instanciará un objeto cada vez que se llama lo que consumirá recursos (es todo conjeturas mías).
Comentar que dentro del bucle modifico la variable global BUSCA_ALFA pues es la que utiliza el buscador.
PD. Sigo haciendo pruebas pero creo que está bastante afinado.