Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   realizar varias busquedas con locate (https://www.clubdelphi.com/foros/showthread.php?t=70140)

gonza_619 01-10-2010 20:24:44

realizar varias busquedas con locate
 
hola q tal , bueno mi problema es que he hecho una busqueda mediante LOCATE y dentro de un boton de busqeda coloco lo sig,
Código Delphi [-]
  if table2.Locate('ape_nomb',edit1.Text,[lopartialkey]) then
     begin
      showmessage('el regsitro existe');
      table2.Filtered:=false;
      Table2.Filter:='ape_nomb='+ QuotedStr(Edit1.text);
      table2.Filtered:=true;
      doc:=table2.FieldByName('documento').AsString;
      if dbedit7.Text='1' then
      begin
      showmessage('se encuentra de alta');
      button1.Visible:=true;
      button5.Visible:=true;
      end;
      if dbedit7.Text='2' then
      begin
      showmessage('esta de baja') ;
      table2.Filtered:=false;
      form4.Show;
      end;
    end

    else
    begin
      showmessage('el registro no existe');
      //edit2.Visible:=false;
      table2.Filtered:=false;
    end;
 end;

es decir si encuentra el registro ,que ingreso por un tedit,lo filtra para mostrar unos datos y guardar en un var un dato de esa tabla, la 1ra vez sale bien lo encuentra, pero pero cuando quiero buscar otro registro ya no lo encuentra es decir me dice "el registro no existe", el dato q ingreso en realidad existe. no se porq no lee el edit nuevamente, utilizo un radiogroup para q seleccione por lo q quiere buscar.habria alguna otra manera de que busq varias veces? no uso query ya que necesito trae datos. bueno espero me puedan ayudar gracias

ecfisa 01-10-2010 23:54:29

Hola Gonza.

No me puse a analizar en profundidad el código, pero eso sucede por que no quitás el filtro después la verificación de alta.

Agregá la línea en negrita a tu código:
Código Delphi [-]
      
  if dbedit7.Text='1' then
  begin
     showmessage('se encuentra de alta');
     button1.Visible:=true;
     button5.Visible:=true;
     Table2.Filtered:= False;  // quitar filtro
  end;

Saludos. :)


La franja horaria es GMT +2. Ahora son las 03:57:22.

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