pesquisa com dbgrid como mostrar o resultado ???

Delphi

23/10/2003

Pessoal como fazer vejam só

possuo um dbgrip que me mostra uma tabela com dados de clientes, preciso pesquisar um nome ou cgc nessa tabela beleza criei o botão e abixo vou mandar o código que faz a pesquisa acredito que esta correto, o que preciso é qdo ele acha o que quero pesquisar o nome do cliente por exemplo como faço pra rolar o dbgrid mandando o ponteiro para cliente da pesquisa exemplo

1 ana
2 alessandra
3 america
4 beth
5 carla
6 cintia


pesquise maria, que na tabela poderá ser o registro 50
como mostrar no dbgrid o regstro 50
minha tabela é paradox
:oops:


Silvia

Silvia

Curtidas 0

Respostas

Silvia

Silvia

23/10/2003

unit pesqcli;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, StdCtrls;

type
TForm2 = class(TForm)
pesqcli: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
Label8: TLabel;
Label6: TLabel;
Qrclientes: TQuery;
dsqrcli: TDataSource;
btnprocura: TButton;
procedure btnprocuraClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.DFM}

procedure TForm2.btnprocuraClick(Sender: TObject);
begin
With QrClientes do
Begin
Close;
ParamByName(´varnome´).AsString:=pesqcli.Text+´¬´;
Prepare;
Open;
end;
if QrClientes.RecordCount=0 then
Begin
ShowMessage(´Cliente não encontrado!´);
End;
end;
end.


GOSTEI 0
Fabio.hc

Fabio.hc

23/10/2003

Tente assim:

Table1.Locate(´nome´,´Maria´,[loPartialKey]);



GOSTEI 0
Torres Delphi

Torres Delphi

23/10/2003

Particularmente, prefiro usar comandos SQL pra isso.

Tente algo parecido com isso:

Comando SQL
SELECT * FROM SUA_TABELA WHERE NOME LIKE :nome


No click do botao procurar
if EdtNome.Text = ´´ then
MessageDlg(´Informe um nome para pesquisa!´, mtWarning, [mbOk], 0 )
else
begin
QrClientes.Close;
QrClientes.ParamByName(´nome´).AsAstring := ´¬´ + EdtNome.Text + ´¬´
QrClientes.Open;

if QrClientes.RecordCount = 0 then
begin
MessageDlg(´Nenhum cliente encontrado com este trecho ´´ + EdtNome.Text + ´´´, mtWarning, [mbOk], 0 );
EdtNome.SetFocus;
end;

end;


GOSTEI 0
Silvia

Silvia

23/10/2003

veja se estou pensando errado qdo clico no botão procurar ja estou utilizando uma query para fazer isso o que não consegui fazer é achando o nome no caso maria o ponteiro no meu dbgri se dirigir para elea e mostrar os dados dela, deu pra entender ???


GOSTEI 0
Bysnaga

Bysnaga

23/10/2003

ola..

oque você quer fazer é apenas mostrar os campos referentes ao nome que voce digitou ou quer que fique todos os registros no dbgrid e o ponteiro fique apontando para ele??


GOSTEI 0
Silvia

Silvia

23/10/2003

isso imagine uma tela em clipper meu dbedit onde eu nageo com as setas para baixo e para cima e tenho uma tecla de função f5 por ex. que me permite buscar um cliente caso eu saiba o nome ou parte do nome dele sem ter que ficar procurando com as setinhas ou mesmo pgdow pgup, foi isso que imaginei fazer com o dbgrid, estaria navegando nos registros mais gostaria de ir dirtemante para um especifico através de um botão pesquisa


GOSTEI 0
Marcelo.c

Marcelo.c

23/10/2003

Veja se é isso que deseja:

TabeladoGrid.Recno:=Query.Recno;

Bem, estou imaginando que o DBGrid esteja ligado a uma tabela ou Query diferente da Query de Pesquisa.


GOSTEI 0
POSTAR