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 03-03-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Question !!Problema de búsqueda en un DBGrid!!

hola amigos del club, tengo un problema que mas o menos va así
tengo un adoconection, adotable, y un datasurce todo esto es ta muy bien
tengo un edit que en su evento onchange tengo el siguiente código (ejemplo encontrado aquí mismo)

Código Delphi [-]
If (Edit1.text <> '') then
    DataModule1.ADOcompra.Filter := 'Nombredelconprador Like '''+ Edit1.Text +'*''';

la búsqueda funciona muy bien al ingresar una letra de inmediato me muestra los registros resultantes .......

el problema es que cuando borro todas las letras (vació el edit)

El DBGrid queda vació como le hago para que cuando el edit este vació mede de nuevo todos los registros en el DBGrid

Espero que alguien me puedo contestar y muchas gracias por su tiempo
Responder Con Cita
  #2  
Antiguo 03-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Supongo que la propiedad Filtered de tu adotable está activa(Filtered=True), entonces debes desactivarla(Filtered=False)
Siguiendo tu ejemplo podriamos hacer que cuando el edit esté vacio no me filtre nada:
Código Delphi [-]
If (Edit1.text <> '') then
 Begin
    DataModule1.ADOcompra.Filter := 'Nombredelconprador Like '''+ Edit1.Text +'*''';
    DataModule1.ADOcompra.Filtered:=True;
 end
Else DataModule1.ADOcompra.Filtered:=False; //<---  
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 03-03-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Question Gracias

hola que tal gracias por responder tan rapido
he hecho lo que me has dicho pero me sale un error
algo así como

Expected INITIALIZATION but received ELSE

ya he intentado resolverlo pero no he encontrado la sulucion
a ver si me puedes ayudar seria de mucha ayuda para mi
y gracias por tu respuesta, por tu tiempo
Responder Con Cita
  #4  
Antiguo 03-03-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Thumbs up Ya solucione el problema

solo unos delles como quitarle las ; al end de la exprecion bueno la solución es mas o menos así

para que funcione tienes que quitarle en el adotable la función de Filtered ponerla en false.

Código Delphi [-]
procedure TFClientes.Edit1Change(Sender: TObject);
begin
If (Edit1.text <> '') then
begin
    DataModule1.ADOcompra.Filter := 'Nombredelconprador Like '''+ Edit1.Text +'*''';
    DataModule1.ADOcompra.Filtered:=True;
end // quitarle las ; si no funciona 
Else
begin
DataModule1.ADOcompra.Filtered:=False;
end;
end;

muchas gracias a rgstuamigo sin su ayuda no hubiese podido lograrlo
gracias gracias gracias gracias gracias gracias
saludos rgstuamigo gracias por tu tiempo
Responder Con Cita
  #5  
Antiguo 03-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Lightbulb

Bueno.. me parece raro ese error.....pareciera que algo has hecho mal ; de todas formas como digiste que ese código está dentro del evento OnChange de edit pues aquí te paso el código completo de cómo debería estar en tal evento más o menos:
Código Delphi [-]
procedure TForm1.Edit1Change(Sender: TObject);
begin
    if Edit1.Text <> '' then
     begin
      DataModule1.ADOcompra.Filter:='Nombredelconprador Like '''+ Edit1.Text +'*''';
      DataModule1.ADOcompra.Filtered:=True;
     end
    else DataModule1.ADOcompra.Filtered:=False;
end;
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 03-03-2011 a las 21:40:40.
Responder Con Cita
  #6  
Antiguo 03-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up

Cita:
Empezado por Darkseratul Ver Mensaje
solo unos delles como quitarle las ; al end
En efecto..... nunca debe haber un punto y coma ( ; ) antes de un Else en Delphi ojo con eso , por eso debes fijarte bien el código que te puse...
Saludos... y me alegra que lo hayas solucionado, de los errores uno aprende
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 03-03-2011 a las 21:42:42.
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
Busqueda en DBGRID sistesc1 Conexión con bases de datos 5 03-03-2009 15:34:33
Búsqueda en DBGrid dardo Conexión con bases de datos 3 20-04-2007 12:55:38
Busqueda en dbgrid dariana20 SQL 9 09-06-2006 10:35:46
Busqueda Con Locate En Un Dbgrid mtpedro Conexión con bases de datos 1 29-10-2004 09:29:22
Busqueda en DBGRID andrestsas Varios 3 15-08-2003 21:32:36


La franja horaria es GMT +2. Ahora son las 21:36:25.


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