Ir al contenido


Foto

[RESUELTO] Busqueda por registro en un DBGrid


  • Por favor identifícate para responder
9 respuestas en este tema

#1 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 mensajes

Escrito 20 noviembre 2010 - 07:29

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...

Archivos adjuntos


  • 0

#2 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 20 noviembre 2010 - 07:46

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 mensajes

Escrito 20 noviembre 2010 - 07:49

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
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 20 noviembre 2010 - 07:58

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
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 20 noviembre 2010 - 08:06

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
  • 14.448 mensajes
  • LocationMéxico

Escrito 20 noviembre 2010 - 09:38

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

Archivos adjuntos


  • 0

#7 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 mensajes

Escrito 20 noviembre 2010 - 11:53

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
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 21 noviembre 2010 - 09:48

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 mensajes

Escrito 21 noviembre 2010 - 11:47

Perfecto.... gracias
  • 0

#10 barcielam

barcielam

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 18 diciembre 2010 - 05:04

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.