![]() |
Buscar texto en campo con un Query
;) Como puedo buscar una cadena de txt en un campo de 50 caracteres, con un Query.
Tengo un campo en una tabla de access pero necesito buscar una cadena, por asi decir: El campo completo dice: Jose Angel Gutierrez Meraz, del cual existen varios Gutierrez en la tabla y necesito filtrar todos los Gutierrez de la tabla? Alguien tiene una solucion a esto. Nota: por desgracia los nombres estan juntos, cosas que suelen pasar con datos que uno no crea..... :rolleyes: |
Puedes usar la sentencia "Like" de SQL.
Ahora, supongamos que los "Gutierrez" estan en una tabla llamada "Clientes", entonces lo buscarias asi: Código:
SELECT nombre FROM Clientes y listo, espero te sirva :) |
Lo que te ha dicho Jhonny es correcto pero por si este fuese tu caso ten encuenta que el usuario puede meter datos en mayuscualas y minusculas simultaneamente, y esto es obligación de controlarlo por parte del programador para ello soló hay que modificar un poco el código.
SELECT nombre FROM Clientes where upper(nombre) like('%GUTIERREZ%') order by nombre El elegir mayusculas sobre minusculas es por que hay mucha gente que suele escribirlo todo en mayusculas, ten encuenta que el dato que le des este en mayusculas tambien. Espero que te valga. Un saludo desde Canarias. |
y, para asegurarte todabia mas, puedes utilizar el upper en ambos lados
Código:
|
Y si querés buscar algo en un Query ya abierto, podes utilizar el método Locate:
Código:
Query1.Locate('NOMBRE', 'GUTIERREZ', [loCaseInsensitive, loPartialKey] ); |
Hola a todos, dos comentarios:
He tenido problemas con el uso de la función UPPER y la letra 'ñ' tuve que cambiar a hacerlo con la función LOWER. En segundo lugar quiero ver si me aclaro de una vez: Según leo en la ayuda la función Locate busca el primer registro que coincide con la condición dada y lo convierte en el registro corriente devolviendo true si existe y false si no encuentra coincidencia, pero no devuelve un conjunto de resultados de una busqueda. Es segunda vez que veo que hacen esta propuesta en los ultimos días y quisiera que me explicaran mejor, pués puede ocurrir que, por deconocimiento, esté subutilizando la potencialidad de la función. Gracias por sus respuestas |
Cita:
Cita:
|
Cita:
Cita:
De todas formas seguiré tu consejo y repasaré las propiedades del dataset. Saludos |
Cita:
Saludos! |
La franja horaria es GMT +2. Ahora son las 13:01:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi