Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-02-2005
jdangosto jdangosto is offline
Miembro
 
Registrado: jun 2004
Posts: 82
Poder: 20
jdangosto Va por buen camino
Filtrar un DBGrid

Buenas.

Estoy intentando filtar un DBGrid pasandole uno parámetros desde un edit. La idea es que cuando escribas un apellido y presiones el botón muestre en el dbgrid todos los registros que contengan ese apellido, pero no consigo hacerlo.
El código que implemento es el siguiente:
[delphi]
procedure TForm1.Button1Click(Sender: TObject);
begin
dbgrid1.DataSource.DataSet.Filter := edit1.text;
end;
[/dephi]

El error que me da es que no encuentra la columna que le paso como parámetro y no sé como especificar la columna en la que debe hacer la búsqueda.
__________________
Lo que los Ojos ven y los Oidos Oyen la Mente se lo Cree (H.Houdini)
Responder Con Cita
  #2  
Antiguo 21-02-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
[delphi]
procedure TForm1.Button1Click(Sender: TObject);
begin
dbgrid1.DataSource.DataSet.Filter := 'Nombre campo = ' + edit1.text;
end;
[/dephi]



Saludos
Responder Con Cita
  #3  
Antiguo 22-02-2005
jdangosto jdangosto is offline
Miembro
 
Registrado: jun 2004
Posts: 82
Poder: 20
jdangosto Va por buen camino
Hola Lepe, gracias de nuevo.

He intentado la solución que me comentas y me sigue mostrando el mismo error, diciendo que no encuentra la columna. Al parecer está interpretando el nombre que se le pasa al edit como nombre de la columna.
Por otro lado intenté este código
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
dbgrid1.DataSource.DataSet.Filter := 'Identificacion =' + edit1.Text+'%';
end;
para que cogiera cualquier texto añadido al buscado pero sigue sin funcionar, el caso es que compila sin error.

Por otro lado, existe alguna forma de intentar hacerlo de tal forma que conforme se vaya escribiendo en el edit vaya mostrando el dbgrid los registros conforme se vayan adecuando a lo buscado.
__________________
Lo que los Ojos ven y los Oidos Oyen la Mente se lo Cree (H.Houdini)
Responder Con Cita
  #4  
Antiguo 22-02-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Una forma es a través de una consulta, en el OnKeyUp, por ejemplo, si la consulta está abierta, la cierras y acto seguido la abres con este where:

Código Delphi [-]
'WHERE upper(Identificacion) like '+ quotedstr(uppercase(edit1.text)+'%');

Si quieres más comodidad, ponle un parametro a la consulta, además si el sql es estático, se prepara más rapido para ser lanzada la consulta.

SAludos
Responder Con Cita
  #5  
Antiguo 22-02-2005
jdangosto jdangosto is offline
Miembro
 
Registrado: jun 2004
Posts: 82
Poder: 20
jdangosto Va por buen camino
Al final lo he solucionado con una consulta, pero no en el OnKyeUp, sino con un query a la tabla. Esté es el código:

Código Delphi [-]
procedure TForm_facturas.SpeedButton5Click(Sender: TObject);
begin
//paso los parametros a la consulta
query1.Close;
query1.ParamByName('apelli').AsString := edit1.Text+'%';
query1.Open;
if query1.IsEmpty then
        showmessage('Ninguna Factura que mostrar para ese cliente');
end;

Gracias de nuevo
__________________
Lo que los Ojos ven y los Oidos Oyen la Mente se lo Cree (H.Houdini)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 23:57:02.


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