buqueda

daviniagomis
14 de Noviembre del 2003
Hola e probado lo k me has dixo pero no sirve pa lo k yo kiero.Pq sigo teneiendo el problema.Lo explico de nuevo.
Tengo una tabla k necesito k muestre : expedientes,promotor,descripcion y emplazamiento.
En la consulta en vista diseño añado la tabla y los campos k kiero, y en criterio puedo poner [lo que kiero buscar] -- en ese formato--.Bien a mi lo k me interesa es k en esa misma consulta pueda buscar por cualquiera de los 3 campos siguentes:Promotor,Descripcion o emplazamiento, y que introduciendo una palabra cualquiera de ese campo me apareciera una lista con todos aquellos registros en los cuales aparezca esa palabra, e idem en las busquedas de los otros.
otro problema es k si hago la busqueda en esa consulta 1º e de especificar que es lo k kiero buscar :si bien promotor,decripcion o promotor y todo en una consulta no se como seria.
Yo e conseguido lo siguiente hacer la busqueda por separado, osea 3 consultas y lo peor de todo es k en la ocnsulta o pongo todo el texto posible o no me enseña nada ,vamos k no me sirve poner cualquier parte del campo.
eso es lo k me ocurre a ver si puedes y me exas un cable

Isa?
14 de Noviembre del 2003
Lo primero que le sugiero, es ESCRIBIR BIEN, ya que me (nos) cuesta trabajo entender su "idioma".

Espero le sirva:

/* inicio de codigo */
CREATE PROCEDURE pr_BusquedaFacil
@TipoBusqueda int, -- 1=PROM, 2= DESC, 3=EMPLAZ
@TextoBuscado varchar(100)
AS

SET NOCOUNT ON
-- Valido el tipo de busqueda
IF @TipoBusqueda NOT IN(1,2,3)
BEGIN
SELECT 'ERROR EN TIPO DE BUSQUEDA'
RETURN(0)
END

DECLARE @MyCampo varchar(15)
SELECT @MyCampo =
CASE WHEN @TipoBusqueda = 1 THEN 'Promotor'
WHEN @TipoBusqueda = 1 THEN 'Descripcion' ELSE 'emplazamiento' END

DECLARE @SQLString NVARCHAR(400)
SET @SQLString = N'SELECT Promotor,Descripcion, emplazamiento FROM MyTabla WHERE '+LTRIM(RTRIM(@MyCampo))+ ' LIKE '+CHAR(39)+'%'+@TextoBuscado+'%'+CHAR(39)
exec sp_executesql @SQLString
/* fin de codigo */

Espero le sirva como idea para hacer lo que necesita.

Saludos.