Pesquisa de Clientes 2

Crie o formulário de acordo com a imagem abaixo:

Vá até o Menu File / Use Unit e selecione o módulo para liga-lo neste formulário.

Selecione o grdCliente (dbGrid) e na propriedade DataSource coloque:dmConta.dsCliente.

Selecione o rgPesquisa. Na Guia Events, selecione o evento onClick e digite o código abaixo:
if rgPesquisa.ItemIndex =0 then
lblDado.Caption :='Informe o código para pesquisa';
if rgPesquisa.ItemIndex =1 then
lblDado.Caption :='Informe o nome completo para pesquisa';

Dê um duplo clique no botão btnConfirma e digite o código abaixo:
if txtPesquisa.Text ='' then
begin
Application.MessageBox('Informe o Código ou Nome!','Aviso',mb_IconInformation);
txtPesquisa.SetFocus;
exit;
end;
if rgPesquisa.ItemIndex =0 then
begin
dmConta.tbCliente.IndexFieldNames :=''; //abre o índice pela chave primária (por código)
dmConta.tbCliente.FindKey([txtPesquisa.Text]);
end;
if rgPesquisa.ItemIndex =1 then
begin
dmConta.tbCliente.IndexFieldNames :='Nome'; //abre o índice pela chave secundária
dmConta.tbCliente.FindKey([txtPesquisa.Text]);
end;

Observação: A instrução FindKey faz a busca no campo na tabela, de acordo com o índice especificado. Retorna True (achou) ou verdadeiro.

Vá até a Guia Events do formulário e no evento onClose digite:
dmConta.tbCliente.IndexFieldNames :='';
dmConta.tbCliente.Close;

Vá até a Guia Events do formulário e no evento onShow digite:
dmConta.tbCliente.onShow;

Dê um duplo clique no botão btnSair e digite: Close;

1