Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
En vista he perdido el dinerito...
Y ahora a lo que hemos venido...
...No he probado el siguiente código... pero quizá te sirva y porfa nos comentas como te fue...
En un Boton o al OnCreate o en el evento que abras tu Tquery (Lo llamare Query1 para el ejemplo) podrías hacer lo siguiente:
Código Delphi [-]
Query1.Close;
Query1.Open;
Query1.Filtered := False;
Query1.Filtered := True;
Con esas lineas se dispararía el evento OnFilterRecord del TQuery(Query1)
y en el evento FilterRecord deberías tener el siguiente código...
Código Delphi [-]
Accept := (Memo1.Lines.IndexOf(Quer1.FieldByName('codigo').AsString) <> -1);//Esta linea mostraría los 
               //códigos que hay en la 
              //BD que también estén incluidos en el TMemo.

Nota: Si no te funciona así prueba quitando lo que tengas en la propiedad Filter de el TQuery.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #2  
Antiguo 05-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Otra forma, quizás algo bestia.... pero muy rápida de hacer
Código Delphi [-]

var filtro : string;
begin
filtro := EmptyStr;
for i:= 0 to memo1.lines.count -1 do
  filtro := filtro + ','+QuotedStr(memo1.lines[i]);
delete(filtro,1,1);

query1.sql.text := 'select * from tabla where campo in ('+ filtro+')';
query1.Open;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 05-02-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por Lepe
Otra forma, quizás algo bestia
Bueno, aun no he probado el codigo que puse en mi post anterior pero el metodo de Lepe seguro que funcionara. Al punto que siento que el codigo realmente bestia es el mio
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #4  
Antiguo 06-02-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Tambien podrías utilizar un TstringList, utilizas su propiedad LoadFromFile para leer el archivo de texto y luego utilizas su propiedad "CommanText" para utilizarlo en tu query.
__________________

Responder Con Cita
  #5  
Antiguo 07-02-2007
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
Chasco

Hola yo de nuevo, no logro hacer que funcione ninguno de los 2 códigos ofrecidos ............
El Primero logra correr pero detiene el programa y larga un men de Error "raised exception class EDatabaseError with Message 'ADOQuerry.Missing SQL property"

El Segundo no corre, me aparece un error de compilacion en la línea que dice:


Código Delphi [-]
 ADOQuerry.SQL.Text := 'select Codigo,Descripcion from Articulo where Codigo = ('+ filtro')';



Marca el concatenado de la cadena con la variable filtro, el men que larga el compilador dice lo siguiente: "Missing operator orsemicolon".. La verdad no entendi mucho este código, lo que me dejo desconcertado el le línea que dice:

Código Delphi [-]
 filtro := EmptyStr;


No entiendo bien para que sirve lo que estas haciendo, no pude encontrar en la ayuda lo que quiciste hacer, al parecer asignas un estilo de String puede ser??


Tendre que crear una Tabla y agregar en ella los registros que voy encontrando???
Responder Con Cita
  #6  
Antiguo 07-02-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
El código de Lepe lo que hace es concatenar en una sola variable los datos del memo separados por coma (,) y luego asignar a la propiedad Text del Query dichos valores para que los filtre; ahora bien, vos tenes lo siguiente:

Código Delphi [-]
 
ADOQuerry.SQL.Text := 'select Codigo,Descripcion from Articulo where Codigo = ('+ filtro')';

y debe ser

Código Delphi [-]
 
ADOQuerry.SQL.Text := 'select Codigo,Descripcion from Articulo where Codigo in ('+ filtro')';

Fijate en que estas usando el "=" mientras que en el ejemplo de Lepe esta muy claro que debes usar el "in" para buscar en el conjunto de datos alimentado desde la variable de texto llamada "filtro".

En cuanto a la linea que tienes duda:

Código Delphi [-]
 
filtro := EmptyStr;

Esa es una manera de inicializar la variable.

Espero te sirva de algo la explicacion.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 07-02-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
a ver... aquí necesitan ponerse las pilas y abrir bien los ojos. No se me desesperen que esto es lo sencillo, mantenga la cabeza fria y ponga antención a lo que estan escribiendo.
Código Delphi [-]
ADOQuerry.SQL.Text := 'select Codigo,Descripcion from Articulo where Codigo in ('+ filtro+')';

En la segunda, según tu excepción, el problam esta en el ADOQuerry... será porque es ADOQuery con una "r", no con dos.
__________________

Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como puedo empezar a desarrollar Neiro Internet 2 10-10-2006 16:14:24
¿Como empezar bien? MakinaX Varios 1 03-06-2006 12:30:13
Como empezar con Delphi??? @padawan@ Varios 3 11-01-2006 18:02:47
Comó empezar con Quick Report lucasarts_18 Impresión 2 16-04-2005 19:20:09
Como empezar una aplicación web rfernandez Internet 2 10-01-2004 01:38:05


La franja horaria es GMT +2. Ahora son las 10:40:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi