Ir ao conteúdo
  • Cadastre-se

Pesquisa em banco de dados


mm_edilson

Posts recomendados

Amigos, estou aqui "perturbando" de novo. Rsrsrs

Preciso que meu formulário faça pesquisa por endereços. Por exemplo, eu digito o nome da rua num edit, e ele preenche um dbgrid com todos os clientes cadastrados que moram naquela rua.

Fiz o seguinte:

Estou usando banco de dados access e adoquery.

coloquei um edit e um botão, e no evento onclick do botão pus o seguinte:

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select *');
ADOQuery1.SQL.Add('From Dados');
ADOQuery1.SQL.Add('Where Endereco = "'+Edit1.Text+'"');
ADOQuery1.Open ;

Deu certo, mas está incompleto. É que até aqui eu sei fazer, mas daqui pra frente ainda não aprendi. É que gostaria de mais três possibilidades:

1. Que localize mesmo que eu digite apenas parte do endereço, com o lopartialkey, mas não sei onde e como inserir isso no código.

2. Quero também inserir um combobox com as opções Rua, Bairro e Cidade, e automatizar a linha 'Where Endereco = "'+Edit1.Text+'"'. Tipo assim, em vez de pesquisar no campo Endereco, vai pesquiar no campo selecionado no combobox.

3. Quero que os registros apareçam no dbgrid em ordem alfabética.

Conto com a ajuda de vocês.

Abraços a todos.

Link para o comentário
Compartilhar em outros sites

Consegui resolver. Fiz assim:

procedure TPesquisa.Button1Click(Sender: TObject); 
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select *');
ADOQuery1.SQL.Add('From Dados');

If Combobox1.Text = 'Nome' then
ADOQuery1.SQL.Add('Where Nome like ''%'+Edit1.Text+'%''');
If Combobox1.Text = 'Endereço' then
ADOQuery1.SQL.Add('Where Endereco like ''%'+Edit1.Text+'%''');
If Combobox1.Text = 'Bairro' then
ADOQuery1.SQL.Add('Where Bairro like ''%'+Edit1.Text+'%''');
If Combobox1.Text = 'Cidade' then
ADOQuery1.SQL.Add('Where Cidade like ''%'+Edit1.Text+'%''');
If Combobox1.Text = 'CEP' then
ADOQuery1.SQL.Add('Where CEP like ''%'+Edit1.Text+'%''');

ADOQuery1.SQL.Add('ORDER BY Nome');
ADOQuery1.Open ;
showmessage('Foram localizados ' + inttostr(Adoquery1.recordcount) + ' registros para sua consulta.');

end;

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!