PDA

Ver la Versión Completa : Busqueda General con Like??


anghell77
14-05-2006, 07:29:11
Hola a todos los miembros....

Trabajando sobre Delphi7 Paradox7....

Estoy intentando hacer una búsqueda mediante un Edit (evento OnChange) que devuelva cualquier dato similar al caracter tecleado dentro de un campo especifico... algo similar a la manera que funciona el JUMP del Winamp....que regresa todas las canciones que contienen el caracter tecleado....

ahora esto aplicado a lo mio es.... TABLA= MEdicamentos, CAMPO de BUSQUEDA = Sustancia.... en el cual puede haber dentro de un registro "Pseudoefedrina",...en otro "Metamizol Sódico + Pseudoefedrina", entonces, empleo el codigo:

procedure TCons_Med.Edit2Change(Sender: TObject);
var
StrSQL:String;
begin
DataModule_Cons.Sustancia.Close;
StrSQL:='select *from Medicamentos where Sustancia Like '+QuotedStr(Edit2.Text+'%');
DataModule_Cons.Sustancia.SQL.Text:=StrSQL;
DataModule_Cons.Sustancia.Open;
end;


He intentado el codigo: Select *from Medicamentos where Sustancia like '%PSEUDOEFEDRINA%' (En este caso)....y funciona, pero si lo quiero agregar al OnChange del Edit de la siguiente manera:


StrSQL:='select *from Medicamentos where Sustancia Like %' + QuotedStr(Edit2.Text+'%');


Me devuelve error....Invalid use of Keyword Token Like.......

Al menos el SQL de la búsqueda ya esta....pero como lo implemento al Onchange del Edit??

esto debe devolver todos los que empiecen con la letra tecleada en el edit...pero busco que localice en cualquier parte del campo....
si alguien lo sabe lo agradezco mucho!!!

Gracias....

Lepe
14-05-2006, 08:27:45
StrSQL:='select *from Medicamentos where Sustancia Like ' + QuotedStr('%'+Edit2.Text+'%');


el primer % tambien debe estar dentro del quotedStr ;) ¿llevas muchas horas seguidas programando? ;) :D

Saludos

anghell77
14-05-2006, 08:35:22
¿Porque la pregunta?...:) dejo mucho que desear verdad???:o :p

Fijate, que no tengo mucho tiempo en esto de la programacion....desafortunadamente, porque le he tomado un gusto terrible, sin embargo, soy autodidacta, porque en mi escuela nomás no hubo que aprender algo del "especialista".....

Por otro lado, gracias, por la respuesta.....habia hecho pruebas, sobre el codigo que habia escrito pero a veces se me nublan las ideas, y nunca pensé en agregar el '%' dentro del QuotedStr...:( ....

Gracias de nuevo....eso fue lo necesario para la ejecucion correcta....

dec
14-05-2006, 17:49:43
Hola,


¿Porque la pregunta?...:) dejo mucho que desear verdad???:o :p



Creo que no lo decía por tanto el compañero, sino porque suele ocurrir que tras unas cuantas horas seguidas dándole al mono, resulta que este no es de goma, como dicen, y, uno no ve las comillas simples, ni dobles, ni triples, y tiende a confundirse, puesto que ya ni los ojos le responden, ni tampoco el cerebro a las veces de la misma forma que cuando comienzas a hacer algo fresco como una lechuga, o sea. ;)

Lepe
14-05-2006, 19:36:40
Hola,
Creo que no lo decía por tanto el compañero, sino porque suele ocurrir que tras unas cuantas horas seguidas dándole al mono, resulta que este no es de goma, como dicen, y, uno no ve las comillas simples, ni dobles, ni triples, y tiende a confundirse, puesto que ya ni los ojos le responden, ni tampoco el cerebro a las veces de la misma forma que cuando comienzas a hacer algo fresco como una lechuga, o sea. ;)

¡¡¡ Demonios !!! creía que solo me pasaba a mí despues de 12 o 14 horas delante del ordenador ;)

A mí es que.... directamente se me hace un "borrón" todas las letras y no puedo leer el código fuente, ni limpiando las gafas :D

Como bien dice dec no había nada de maldad en mi pregunta... es más era una pregunta retórica.

Saludos

anghell77
14-05-2006, 23:38:40
lo se.... se que no habia maldad en la pregunta.....como tambien se que es cierto que despues de un rato, deja uno de captar las cosas como recien empieza a trabajar....

pero a veces, cuando la respuesta es sencilla...:o me siento un poco tonto...
de hecho me siento demasiado novato....jejeje

En verdad, Gracias, compañeros por la ayuda que brindan...este foro es diferente, porque aqui si ayudan...:) :)

Tejares
15-05-2006, 13:44:32
Cuando sucede eso lo mejor es dejarlo, porque lo único que harás es cometer un error tras otro.

Lo mejor: irse a la cama y mañana con la cabeza despejada las cosas salen solas.

Consejo de programador veterano. ;)