Ver Mensaje Individual
  #3  
Antiguo 21-02-2008
metroyd metroyd is offline
Miembro
 
Registrado: oct 2007
Posts: 78
Reputación: 17
metroyd Va por buen camino
Cita:
Empezado por mamaro Ver Mensaje
Para la primera lo que necesitas es un maestro detalle, tal vez te sirva este link http://www.clubdelphi.com/foros/showthread.php?t=53416.

Para la segunda me parece que lo que necesitas es implementar una búsqueda incremental (lo cual es un poco más complicado)

1) Pones en un formulario un edit y un dbgrid.

2) Pones el componente de conexión y un consulta (una query) y en la sentencia SQL ponés:
Código SQL [-]Select *
from Articulos
where (upper(desc_articulo) like upper(:buscar))

Los dos Upper sirven para que cuando el usuario escriba se haga una comprobación insensible a mayúsculas (no se si es tu caso).

3) Ponés un DatSource y lo atás con la query y con el DBGrid.

4) En el evento OnKeyPress del edit ponés:
Código Delphi [-] if Length(ed1.Text)>2 then begin q1.Close; q1.ParamByName('buscar').AsString:=ed1.Text+'%';
q1.Open;
end;

En este caso la consulta se abre recién a la tercera letra pulsada.
Esto se podría pulir un poco así:
Código Delphi [-] if Length(ed1.Text)>2 then begin q1.Close; q1.ParamByName('buscar').AsString:=ed1.Text+'%';
q1.Open;
if q1.recordcount=0 then begin // habilito un botón para ingresar una nueva localidad por ejemplo
end end;

Con esta modificación podés hacer alguna acción cuando no encontrás lo que el usuario busca.

Saludos y espero te sirva.
Hola gracias por tu respuesta, tratare de analizarla y lo implementaré. Cualquier duda te echo un grito!! Gracias nuevamente
Responder Con Cita