Jump to content


Photo

[RESUELTO] Busqueda por registro en un DBGrid


  • Please log in to reply
9 replies to this topic

#1 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 posts

Posted 20 November 2010 - 07:29 PM

como hago para buscar un registro mediante un Edit en una tabla que la visualizo con DBgrid

aqui muestro una imagen...

quiero que el dbgrid me encuentre el registro que le indico mediante el Edit y que al presionar el boton Buscar, el registro sea senalado

saludos c y gracias de antemano por la ayuda...

Attached Files


  • 0

#2 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 20 November 2010 - 07:46 PM

En el evento onclick de un boton  o en el onchange del mismo edit puedes poner esto


delphi
  1. begin
  2. query1.Close;
  3. query1.SQL.Clear;
  4. query1.SQL.Add('SELECT campo from tabla');
  5. query1.SQL.Add(' where  campo LIKE ' +quotedstr('%' + edit1.Text + '%')+' ');
  6. query1.Open;
  7. end;


  • 0

#3 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 posts

Posted 20 November 2010 - 07:49 PM

En el evento onclick de un boton  o en el onchange del mismo edit puedes poner esto


delphi
  1. begin
  2. query1.Close;
  3. query1.SQL.Clear;
  4. query1.SQL.Add('SELECT campo from tabla');
  5. query1.SQL.Add(' where  campo LIKE ' +quotedstr('%' + edt1.Text + '%')+' ');
  6. query1.Open;
  7. end;




lo que deseo es que me lo muestre en el mismo dbgrid, no en una consulta...
se puede ???
  • 0

#4 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 20 November 2010 - 07:58 PM

solo tienes que asociar el datasource del query al que le estas haciendo la consulta con el dbgrid en la propiedad datasource
  • 0

#5 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 20 November 2010 - 08:06 PM

Usa un connection, un query, un datasource, un dbgrid
Al query le pones la connection, al datasource le pones el query y al dbgrid le pones el datasource.

Juega con el codigo y ponlo tanto en el onchange de el edit y luego lo pones en un boton para que veas como funciona.

De la forma en que te lo he puesto te mostrara todo lo que se parezca a lo que has entrado, ejm: si escribes jose te va a presentar en el dbgrid todos los jose que existan en tu tabla. si lo quieres exacto segun vayas escribiendo veras las opciones que tienes.


  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 20 November 2010 - 09:38 PM

Con un LOCATE haces lo que necesitas



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   Table1.Locate('Pais',Edit1.Text,[loCaseInsensitive,loPartialKey])
  4. end;



Salud OS

Attached Files


  • 0

#7 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 posts

Posted 20 November 2010 - 11:53 PM

Y cuál componente uso para datos solamente numericos enteros, para buscar clientes por el ID que es numerico. Cual componente puedo utilizar ???

El MaskEdit solo soporta el formato Extension numerico solo de 5 numeros...
El edit acepta todo lo que le escriban...

Pero quiero un componente que soporte cualquier numero entero, y solo números...

Cual sería ???

Saludos C,
  • 0

#8 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2040 posts
  • LocationSanto Domingo

Posted 21 November 2010 - 09:48 AM

en el evento onkeypress del edit  le pones algo como esto


delphi
  1. if not( key in ['0'..'9',#8]) then  key := #0;



prueba y me avisas
  • 0

#9 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 posts

Posted 21 November 2010 - 11:47 AM

Perfecto.... gracias
  • 0

#10 barcielam

barcielam

    Newbie

  • Miembros
  • Pip
  • 1 posts

Posted 18 December 2010 - 05:04 PM

Y como sería imprimir o mostrar si varias filas del dbgrid tienen un campo coincidente con lo colocado en el edit...?

Gracias por responder :cheesy:
  • 0




IP.Board spam blocked by CleanTalk.