Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   búsquedas en dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=9015)

Lizette 08-11-2008 05:05:04

Hola, yo utilizo este codigo:

Var
Valor,Valor1 : String;
begin
if Edit1.text = '' then
begin
Tabla.Filtered := false;
exit;
end;
Tabla.Locate('campo', edit1.Text,[loPartialKey,loCaseInsensitive]);
valor := Edit1.text;
Valor1 := Valor;
inc(valor1[length(Valor1)]);
Tabla.Filter := 'campo >= '+QuotedStr(Valor)+ ' and campo < ' +QuotedStr(valor1);
Tabla.Filtered := true;
end;El problema, es que si tecleo una letra y no tengo ningun registro que coincida me pone en blanco el dbgrid, y quisiera que me diera un mensaje de que no se encontro, y que me borrara dicha letra del edit y me permitiera volver a teclear..

Otra cosa, es que si tecleo la primera letra, y la borro, me causa error, y quisiera que me permitiera dejar el edit en blanco y volver a teclear..

enecumene 08-11-2008 15:15:51

Hola Lizette, me tomé la molestia de colocar tu código con las etiquetas Delphi, por favor úsalos ;):

Código Delphi [-]
Var
Valor,Valor1 : String;
begin
     if Edit1.text = '' then
     begin
     Tabla.Filtered := false;
     exit;
     end;
         Tabla.Locate('campo', edit1.Text,[loPartialKey,loCaseInsensitive]);
         valor := Edit1.text;
         Valor1 := Valor;
         inc(valor1[length(Valor1)]);
         Tabla.Filter := 'campo >= '+QuotedStr(Valor)+ ' and campo < ' +QuotedStr(valor1);
         Tabla.Filtered := true;
          end;

Saludos.


La franja horaria es GMT +2. Ahora son las 14:04:22.

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