pesquisa com dbgrid como mostrar o resultado ???
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:
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
Curtidas 0
Respostas
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.
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
23/10/2003
Tente assim:
Table1.Locate(´nome´,´Maria´,[loPartialKey]);
GOSTEI 0
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;
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
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
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??
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
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
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.
TabeladoGrid.Recno:=Query.Recno;
Bem, estou imaginando que o DBGrid esteja ligado a uma tabela ou Query diferente da Query de Pesquisa.
GOSTEI 0