Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-02-2008
mamaro mamaro is offline
Miembro
 
Registrado: mar 2004
Posts: 79
Poder: 22
mamaro Va por buen camino
Hola

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.
Responder Con Cita
  #2  
Antiguo 21-02-2008
metroyd metroyd is offline
Miembro
 
Registrado: oct 2007
Posts: 78
Poder: 18
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
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manejo de Multi-Listas (listas de listas) DelphiRat OOP 4 03-07-2006 19:42:58
Ayuda Listas zezeno OOP 1 25-04-2006 21:07:02
Listas ligadas Luli Varios 1 30-05-2005 10:04:26
Ayuda con la impresion de unas listas tiagor64 Impresión 0 03-02-2005 19:27:08


La franja horaria es GMT +2. Ahora son las 16:19:53.


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