Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Subconsulta (https://www.clubdelphi.com/foros/showthread.php?t=519)

DanielAlexander 17-05-2003 00:35:43

Subconsulta
 
Hola a todos!!!!!!
Tengo una consulta echa con un tQuery y el resultado lo muestro
en un DBgrid, lo que quiero hacer es poder hacer una busqueda
con los resultados que hay en el DBGrid, probé con el TQuery.Locate, pero busca por igual, y a mi me interesa que busque por aproximación, que a medida que el cliente ingresa
en un Tedit una letra se valla refrescando el Dbrid, no se si hay una forma de hacerlo sin usar tablas temporales o vistas.
Muchas gracias y espero me puedan dar una manito.

jhonny 17-05-2003 00:45:02

Sip, precisamente el Locate te sirve, y tambien te sirve para lo que quieres, puedes hacer lo siguiente:

El procedimiento donde tienes el "Locate" lo llamas cada que el usuario entre una tecla por ejemplo:
Suponiendo que el "codigo" a buscar esta en un TEdit

//procedimiento del Locate

Código:

procedure Tform1.Plocate;
begin
    Query1.Locate('Codigo',edit1.text,[]);
end;

//Ahora en el OnKeyPress del Edit1

procedure Tform1.Edit1KeyPress(Sender :TObject);
begin
    PLocate;
end;

espero te sirva :cool:

roman 17-05-2003 04:20:36

Cita:

Posteado originalmente por jhonny
Código:

procedure Tform1.Plocate;
begin
    Query1.Locate('Codigo',edit1.text,[]);
end;


Creo que le conviene incluir loPartialKey en las opciones del Locate:

Código:

procedure Tform1.Plocate;
begin
    Query1.Locate('Codigo',edit1.text,[loPartialKey]);
end;

De lo contrario el registro no se moverá hasta que el contenido del Edit coincida completamente con el valor de un campo.

// Saludos

DanielAlexander 19-05-2003 21:59:56

Muchas gracias a todos!!!!!
Funcionó perfecto lo que me faltaba era agregarle lo que dijo roman "lopartialKey"
Muchas gracias.


La franja horaria es GMT +2. Ahora son las 20:27:50.

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