Formulário de Pesquisa de Clientes

Crie um novo formulário de acordo com a imagem abaixo:

Caption: Pesquisa de Clientes
Name: frmPCliente

Label: (Guia Standard)
Caption: Pesquisa
Name: lblPesquisa

Edit: (Guia Standard)
Name: txtPesquisa
Text: deixar em branco

dbGrid: (Guia Data Control)
Name: grdCliente
DataSource: dmDespesa.dsCliente

Clique com o botão direito no dbGrid e selecione Columns Editor. Clique no botão Add New e adicione duas colunas de acordo com a imagem abaixo:

- Clique na coluna 0 - Codigo e configure as propriedades:
- FieldName: Codigo
- Title: Clique no sinal de + e em Caption, coloque: Código.
- Clique na coluna 1 - Nome e configure as propriedades:
- FieldName: Nome

- Dê um duplo clique na caixa txtPesquisa e digite o código abaixo:
dmDespesa.tbCliente.Locate('Nome',txtPesquisa.Text,[lopartialkey,loCaseinSensitive]);
Lopartialkey: Faz a busca pelas iniciais.
loCaseinSensitive: Não distingue minúsculas de maiúsculas. Ou seja: se estiver cadastrado Pedro Ferreira e você digitar: pedro, também será achado.

Vá até o início da janela de código (onde você digitou a linha acima) e na seção uses, verifique se existe a cláusula DB. Caso não exista, insira em qualquer parte, separado por vírgula. Ex.:

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls;

Abrindo o índice de nome

- Selecione o formulário e na Guia Events
- Selecione onShow
- Dê um duplo clique dentro da caixa branca e na janela de código digite:
dmDespesa.tbCliente.IndexFieldNames :='Nome'; //Será aberto o índice (chave secundária) para pesquisar em ordem alfabética pelo campo nome

Voltando o índice por código (chave primária)

- Selecione onClose
- Dê um duplo clique dentro da caixa branca e na janela de código digite:
dmDespesa.tbCliente.IndexFieldNames :='';

Salve este formulário como: PCliente.

Pressione Shift+F12.
- Selecione frmCliente.
- Dê um duplo clique no botãoo Consulta.
- Digite na janela de código: frmPCCliente.ShowModal e execute o programa.


1