Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2003
DanielAlexander DanielAlexander is offline
Miembro
 
Registrado: may 2003
Ubicación: argentina
Posts: 40
Poder: 0
DanielAlexander Va por buen camino
Post 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.
Responder Con Cita
  #2  
Antiguo 17-05-2003
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
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
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 17-05-2003 a las 00:52:30.
Responder Con Cita
  #3  
Antiguo 17-05-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #4  
Antiguo 19-05-2003
DanielAlexander DanielAlexander is offline
Miembro
 
Registrado: may 2003
Ubicación: argentina
Posts: 40
Poder: 0
DanielAlexander Va por buen camino
Talking

Muchas gracias a todos!!!!!
Funcionó perfecto lo que me faltaba era agregarle lo que dijo roman "lopartialKey"
Muchas gracias.
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


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


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